Попытка открыть дескриптор устройства отображения для изменения яркости в Windows XP с помощью C ++
Я пытаюсь написать код C ++ / WinAPI для изменения яркости монитора. Код должен быть совместим с Windows XP, поэтому я не могу использовать такие API, как SetMonitorBrightness. Вот я и подумал попробовать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, но я всегда получаю код ошибки 2 при вызове CreateFile.
Так что я тут делаю не так?