小编Bui*_*Sin的帖子

重命名隐藏和系统文件命令

我正试图找出一种方法将Desktop.ini重命名为*.ini并再次返回.问题是我需要用机智的属性来做这个(所以我不能删除隐藏和系统,然后重命名).我提出的唯一解决方案是xcopy和del,但我在选项,源选项和目标选项的语法上遇到问题.

这就是我想出的:

@ECHO OFF

xcopy /H /R Desktop.ini Desktop.txt /K
del /Q /AHS Desktop.ini
xcopy /H /R Desktop.txt Desktop.ini /K
del /Q /AHS Desktop.txt

Pause

exit /b
Run Code Online (Sandbox Code Playgroud)

xcopy batch-file file-rename delete-file

4
推荐指数
2
解决办法
1万
查看次数

EnumDisplayMonitors 回调

我正在尝试使用 EnumDisplayMonitors 创建每个监视器的动态数组并存储 DISPLAY_DEVICE 结构。为什么下面的代码不正确?

BOOL CALLBACK MyInfoEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) {

    MONITORINFOEX iMonitor;
    iMonitor.cbSize = sizeof(MONITORINFOEX);
    GetMonitorInfo(hMonitor, &iMonitor);

    if (iMonitor.dwFlags == DISPLAY_DEVICE_MIRRORING_DRIVER)
    {
        return true;
    }
    else
    {
        *reinterpret_cast<ScreenArray*>(dwData) = ScreenArray(&iMonitor);
        return true;
    };

}
Run Code Online (Sandbox Code Playgroud)

调用使用

ScreenArray monitorArray[15];

int i = 0;
EnumDisplayMonitors(NULL, NULL, MyInfoEnumProc, reinterpret_cast<LPARAM>(&monitorArray[i++]));
Run Code Online (Sandbox Code Playgroud)

数组中的第一个 (monitorArray[0]) 为第二个监视器返回正确的信息,但 monitorArray[1] 是最大值。

编辑:已解决我使用的方法只是实现我创建的函数:

MonitorArray *mA = reinterpret_cast<MonitorArray*>(dwData);
        mA->addScreen(&iMonitor);
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi callback

4
推荐指数
2
解决办法
8255
查看次数

什么是C++中的资源?

关于这个主题:什么是复制和交换习惯用法?

它声明一个类最多应该处理一个资源.资源是什么意思?

编辑:例如,我有一个类来处理每个监视器的信息,并包含一个桌面像素数组.数组和只有数组会被视为资源吗?保持监视器信息和桌面数组的监视器数组是否会是另一个资源,需要另一个类?这是在另一个班级,但这是什么意思?

我在这里和谷歌搜索过,但只找到有关三个规则或资源文件(*.rc和MSDN)的更多信息.没有任何与定义有关的东西.

c++ windows resources winapi rule-of-three

2
推荐指数
1
解决办法
199
查看次数