1

我正在尝试创建一个简单的显示器亮度调整。SetMonitorBrightness() 无法在所需的监视器上以某种方式工作(ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA)所以我正在尝试IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS.

为了获得句柄,我使用了 CreateFile:

HANDLE hDisplay = ::CreateFile(_T("\\.\LCD"),
    GENERIC_READ | GENERIC_WRITE,
    FILE_SHARE_READ | FILE_SHARE_WRITE,
    NULL,
    CREATE_NEW,
    FILE_FLAG_BACKUP_SEMANTICS, NULL);

现在,当我尝试访问 DeviceIoControl() 中的句柄时

DWORD ret = NULL;
OVERLAPPED olp;
if (!DeviceIoControl(hDisplay, IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS, &brgt, sizeof(brgt), NULL, 0, &ret, &olp))
{
    //ErrorMessageblabla
}

我明白了Error 6: Invalid Handle

我究竟做错了什么?

4

0 回答 0