我正试图找出一种方法将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) 我正在尝试使用 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) 关于这个主题:什么是复制和交换习惯用法?
它声明一个类最多应该处理一个资源.资源是什么意思?
编辑:例如,我有一个类来处理每个监视器的信息,并包含一个桌面像素数组.数组和只有数组会被视为资源吗?保持监视器信息和桌面数组的监视器数组是否会是另一个资源,需要另一个类?这是在另一个班级,但这是什么意思?
我在这里和谷歌搜索过,但只找到有关三个规则或资源文件(*.rc和MSDN)的更多信息.没有任何与定义有关的东西.
c++ ×2
winapi ×2
windows ×2
batch-file ×1
callback ×1
delete-file ×1
file-rename ×1
resources ×1
xcopy ×1