Próba otwarcia uchwytu urządzenia wyświetlającego w celu zmiany jasności w systemie Windows XP przy użyciu C ++
Próbuję napisać kod C ++ / WinAPI, aby zmienić jasność monitora. Kod musi być zgodny z Windows XP, więc nie mogę używać API takich jak SetMonitorBrightness. Więc pomyślałem, żeby spróbowaćIOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS ale nie mogę nawet dostać uchwytu urządzenia.
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
}
Próbowałem różnych kombinacji flag GENERIC_READ, GENERIC_WRITE i FILE_SHARE_READ, FILE_SHARE_WRITE, ale zawsze otrzymuję kod błędu 2, gdy wywoływany jest CreateFile.
Więc co tu robię źle?