我正在尝试编写 C++/WinAPI 代码来更改显示器亮度。代码必须与 Windows XP 兼容,所以我不能使用像 SetMonitorBrightness 这样的 API。所以我想尝试一下IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS但我似乎连设备句柄都没有。
HANDLE hDevice = ::CreateFile(_T("\\\\.\\LCD"),
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0, NULL);
if(hDevice != INVALID_HANDLE_VALUE)
{
//Do work here
::CloseHandle(hDevice);
}
else
{
nOSErr = ::GetLastError();
//Get code 2
}
我尝试了 GENERIC_READ、GENERIC_WRITE 和 FILE_SHARE_READ、FILE_SHARE_WRITE 标志的各种组合,但在调用 CreateFile 时总是得到错误代码 2。
那么我在这里做错了什么?