Como desligar o windows2000. Não funciona este codigo
12/02/2003
0
Usei estes comandos para tentar ligar o windows2000, mais ele só da logoff, porem gostaria de saber como proceder para desligar o windows 2000.
unit TESTE1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ShutDown; private { Private declarations } public { Public declarations } end; function ExitWindowsEx(uFlags : integer; dwReserved : word): boolean; external ´user32.dll´ name ´ExitWindowsEx´; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); const EWX_LOGOFF = 0; const EWX_SHUTDOWN = 1; CONST EWX_REBOOT = 2; CONST EWX_FORCE = 4; CONST EWX_POWEROFF = 8; begin ExitWindowsEx(EWX_POWEROFF, 8); end; procedure TForm1.ShutDown; CONST EWX_POWEROFF = 8; var TokenPriv: TTokenPrivileges; H: DWORD; HToken: THandle; begin { Flag := EWX_POWEROFF;} (* WIN 2000 e NT *) if Win32Platform = VER_PLATFORM_WIN32_NT then begin OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, HToken); LookUpPrivilegeValue(nil, ´SeShutDownPrivilege´, TokenPriv.Privileges[0].Luid); TokenPriv.PrivilegeCount := 1; TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; H := 0; AdjustTokenPrivileges(HToken, False, TokenPriv, 0,PTokenPrivileges(nil)^, H); CloseHandle(HToken); end;
Pfrazatto
Curtir tópico
+ 0
Responder
Posts
12/02/2003
Navoid
seguinte pessoal, eu fiz um programinha que chamei de halt e ele desliga o nt (nt/2000/xp)
vou mandar pro master uploaders pra ver se eles aceitam, senão coloco aqui no fórum disponível
até
vou mandar pro master uploaders pra ver se eles aceitam, senão coloco aqui no fórum disponível
até
Responder
Clique aqui para fazer login e interagir na Comunidade :)