Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
13. Sep 2007
die Function OpenInputDesktop im Beispiel liefert als Ergebnis immer 0, egal ob der Arbeitsplatz mit <WIN><L> gesperrt ist oder ob der Arbeitsplatz nicht gesperrt ist.
hd := OpenInputDesktop(0, False, 0);
if hd = 0 then begin
...
end;
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
12. Sep 2007
das Beispiel funktioniert leider auch nicht.
Habe jetzt in meinem alten Code am beginn der Funktion einfach abgefragt ob "Explorer.exe" ausgeführt wird, wenn nicht wird die Funktion verlassen. Damit Startet der PC mit installiertem Dienst ohne Probleme.
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
11. Sep 2007
@Dezipaitor:
Danke für die Antwort.
Das mit Switchdesktop habe ich aus einem Source-Beispiel, das ich beim googeln gefunden habe. Es Funktioniert ja auch, nur "hängt" das System beim Booten, wenn der Dienst gestartet wird (nach der Meldung "Benutzereinstellungen werden geladen").
Mit OpenInputDesktop + GetUserObjectInformation kann ich leider nicht viel anfangen. Vielleicht hast du ein...
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
10. Sep 2007
kann mir keiner weiterhelfen???
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
3. Sep 2007
hier der neue Code:
function TTimeService.IsWorkstationLocked: Boolean;
var
hDesktop : HDESK;
hOldStation : THandle;
hStation : THandle;
ErrorCode : Integer;
begin
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
30. Aug 2007
@Dezipaitor:
habs mit GetProcessWindowStation/SetProcessWindowStation versucht, funktioniert leider auch nicht!
nach der Windows-Meldung "Computereinstellungen werden übernommen" wird der Bildschirm blau und der Rechner reagiert nicht mehr.
beim Aufruf der Funktion GetProcessWindowStation wird LastError auf 1411 (Klasse ist nicht vorhanden) gesetzt.
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
30. Aug 2007
habs jetzt mit OpenWindowStation und SetProcessWindowStation versucht.
Funtioniert auch soweit, nur wenn der Rechner mit installiertem Dienst gestartet wird, "hängt" er vor der Windows-Anmeldung mit blauem Bildschirm.
Hier der Code:
function TTimeService.IsWorkstationLocked: Boolean;
var
hDesktop : HDESK;
hStation : THandle;
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
30. Aug 2007
@Dezipaitor
wie kann ich "Interaktion mit dem Desktop" einstellen?
der Dienst läuft unter Win XP
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
29. Aug 2007
@Dezipaitor
bei der Funktion: hDesktop := OpenDesktop('default',0,false,DESKTOP_SWITCHDESKTOP);
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
29. Aug 2007
@Dezipaitor
GetLastError liefert 5 -> Zugriff verwigert
Forum: Win32/Win64 API (native code)
Delphi
by HansHans,
29. Aug 2007
Hallo,
wie kann ich in einem Dienst prüfen, ob die Arbeitsstation gesperrt ist oder nicht?
dieser Code funktioniert nur in einer Anwendung nicht aber in einem Dienst!!
function IsWorkstationLocked: Boolean;
var
hDesktop: HDESK;