Hmm..
Neuer Versuch (funktioniert mit WIN8.1)
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (msg.wparam = SC_SCREENSAVE) then
begin
Msg.wParam := 0;
keybd_event(0,0,0,0); // simuliert Tastendruck
Panel1.Color:= clRed; //nur Anzeige, dass Routine durchlaufen wird
Handled := true;
end;
end;
Das mag (vielleicht) den ScreenSaver aufhalten, jedoch nicht die Benutzerabmeldung!
Da hat HolgerX leider Recht. Scheinbar ist sämtliche Aktivität zu diesem Zeitpunkt zu spät, um die Sperre noch verhindern zu können.
Das Thema PowerCreateRequest erschliesst sich mir leider nicht. Ich finde nichts, wie ich dies in Delphi anwenden könnte
Ich habe mir erstmal mit einem Timer (alle 30 Sekunden) beholfen, welcher einen Tastendruck simuliert "keybd_event(0,0,0,0);". Danke an t.roller diese Zeile