Versuch, das Anzeigegerät-Handle zu öffnen, um die Helligkeit unter Windows XP mit C ++ zu ändern

Ich versuche, einen C ++ / WinAPI-Code zu schreiben, um die Helligkeit eines Monitors zu ändern. Der Code muss mit Windows XP kompatibel sein, damit ich keine APIs wie SetMonitorBrightness verwenden kann. Also dachte ich mir, es auszuprobierenIOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS aber ich kann anscheinend nicht einmal ein Gerätehandle bekommen.

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
}

Ich habe verschiedene Kombinationen von GENERIC_READ-, GENERIC_WRITE- und FILE_SHARE_READ-, FILE_SHARE_WRITE-Flags ausprobiert, bekomme aber immer den Fehlercode 2, wenn CreateFile aufgerufen wird.

Also, was mache ich hier falsch?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage