Intentando abrir el controlador de dispositivo de pantalla para cambiar el brillo en Windows XP utilizando C ++
Estoy tratando de escribir un código C ++ / WinAPI para cambiar el brillo de un monitor. El código debe ser compatible con Windows XP, por lo que no puedo usar API como SetMonitorBrightness. Así que pensé en probarIOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS pero parece que ni siquiera puedo conseguir un dispositivo de manejar.
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
}
Probé varias combinaciones de indicadores GENERIC_READ, GENERIC_WRITE y FILE_SHARE_READ, FILE_SHARE_WRITE pero siempre obtengo el código de error 2 cuando se llama a CreateFile.
Entonces, ¿qué estoy haciendo mal aquí?