So deaktivieren Sie die Anzeige unter Windows, ohne die Ausführung von GUI-Apps zu beeinträchtigenC++

Programme in C++. Entwicklerforum
Anonymous
 So deaktivieren Sie die Anzeige unter Windows, ohne die Ausführung von GUI-Apps zu beeinträchtigen

Post by Anonymous »

Ich verwende eine GUI-App auf einem Windows-Gerät. Der Hauptthread hierfür ist der UI-Thread. Ich füge eine Funktion hinzu, um die Anzeige auszuschalten, wenn die Anwendung eine bestimmte Zeit lang nicht verwendet wird.

Ich habe versucht, die folgenden APIs zu verwenden, um die Anzeige auszuschalten:

Code: Select all

HWND hwnd = GetForegroundWindow();

Code: Select all

PostMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
oder Nachricht sendenmit denselben Parametern. Und ich löse ein Mausereignis aus, um das Display wieder einzuschalten:

Code: Select all

mouse_event(1, 40, 0, 0, 0);
Funktionell funktioniert alles einwandfrei. Aber wenn das Gerät in den Anzeige-Aus-Zustand übergeht, bleibt mein Haupt-Thread für 700 bis 800 ms stehen.
Liegt das daran, dass das Rendering meiner GUI-App während des Anzeige-Zustandsübergangs beeinträchtigt wird oder welche anderen Möglichkeiten dieses Problem verursachen könnten?
Der Haupt-Thread ist nach 800 ms wieder aktiv.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post