03. februar 2003 - 04:04Der er
9 kommentarer og 1 løsning
Lukning af XP
Er der nogen der ved hvordan man lukker XP ned i Delphi 5? Jeg har prøvet at bruge nogle metoder til 2000, men de logger mig bare af brugeren i stedet for at slukke for PC'en. Jeg håber der er en der ved det, for nu gider jeg ikke selv rode med det mere.
Du kan bruge denne funktion. Der er kommenteret et check for ikke-nt ud..Men kig i Windows API'en under ExitWindowsEx
/doc
function ShutDownPC : Boolean;
function SetPrivilege (sPrivilegeName: string; bEnabled: Boolean) : Boolean; var TPPrev,TP : TTokenPrivileges; Token : THandle; dwRetLen : DWORD; begin result := False; OpenProcessToken (GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,Token); TP.PrivilegeCount := 1; if LookupPrivilegeValue (nil, PChar (sPrivilegeName), TP.Privileges[0].LUID) then begin if bEnabled then TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED else TP.Privileges[0].Attributes := 0; dwRetLen := 0; result := AdjustTokenPrivileges (Token, False, TP, SizeOf (TPPrev), TPPrev,dwRetLen) end; CloseHandle (Token) end;
begin result := true; { if not WinInfo.IsNT then ExitWindowsEx(EWX_REBOOT,0) else } begin if SetPrivilege ('SeShutdownPrivilege', true) then begin if (not ExitWindowsEx (EWX_POWEROFF , 0)) then result := False; SetPrivilege ('SeShutdownPrivilege', False) end else result := False end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.