Windows7 C++调用显示设置中的“检测”按钮
时间: 2023-11-13 12:02:58 浏览: 43
你可以使用 Windows API 中的 EnumDisplayDevices 函数获取当前显示设备的信息,并且使用 ChangeDisplaySettingsEx 函数设置显示模式。在设置显示模式之后,你可以通过 SendMessage 函数发送 WM_COMMAND 消息,模拟用户点击“检测”按钮。具体实现方式如下:
```c++
#include <windows.h>
int main()
{
// 获取当前显示设备信息
DISPLAY_DEVICE displayDevice;
ZeroMemory(&displayDevice, sizeof(DISPLAY_DEVICE));
displayDevice.cb = sizeof(DISPLAY_DEVICE);
EnumDisplayDevices(NULL, 0, &displayDevice, 0);
// 设置显示模式
DEVMODE devMode;
ZeroMemory(&devMode, sizeof(DEVMODE));
devMode.dmSize = sizeof(DEVMODE);
devMode.dmDriverExtra = 0;
devMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
devMode.dmPelsWidth = 800;
devMode.dmPelsHeight = 600;
ChangeDisplaySettingsEx(displayDevice.DeviceName, &devMode, NULL, CDS_TEST, NULL);
// 发送 WM_COMMAND 消息,模拟点击“检测”按钮
HWND hwndDesk = GetDesktopWindow();
HWND hwndMonitor = FindWindowEx(hwndDesk, NULL, L"WorkerW", NULL);
hwndMonitor = FindWindowEx(hwndMonitor, NULL, L"WorkerW", NULL);
hwndMonitor = FindWindowEx(hwndMonitor, NULL, L"SysListView32", NULL);
SendMessage(hwndMonitor, WM_COMMAND, MAKEWPARAM(0x3E8, 0), 0);
return 0;
}
```
其中,WM_COMMAND 消息的第一个参数是按钮的 ID,第二个参数是消息类型,一般为 0。在上面的代码中,0x3E8 对应的是“检测”按钮的 ID。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)