Registriert seit: 29. Aug 2007
12 Beiträge
|
Re: Überprüfen, ob die Arbeitsstation gesperrt ist
3. Sep 2007, 18:01
hier der neue Code:
Delphi-Quellcode:
function TTimeService.IsWorkstationLocked: Boolean;
var
hDesktop : HDESK;
hOldStation : THandle;
hStation : THandle;
ErrorCode : Integer;
begin
Result := false;
hOldStation := GetProcessWindowStation;
if hOldStation = 0 then Exit;
try
hStation := OpenWindowStation('winsta0',false,MAXIMUM_ALLOWED);
if hStation <> 0 then begin
if SetProcessWindowStation(hStation) then begin
hDesktop := OpenDesktop('default',0,false,DESKTOP_SWITCHDESKTOP);
if hDesktop <> 0 then begin
Result := not SwitchDesktop(hDesktop);
CloseDesktop(hDesktop);
end;
end;
end;
except
end;
SetProcessWindowStation(hOldStation);
end;
|
|
Zitat
|