Fórum Desligar o programa com o pc!!! #230991
09/05/2004
0
ola pessoal!
Neste dias eu fiz um software para automaçao industrial so não consigo desligar o computador guando eu fecho o programa.
Pegunto:
01- como fazer para fechar o programa via codigo?
02 - no evento onclose: como fazer para desligar o pc??
se alguem souber por favor me ajude ate mais e muito obrigado!
Neste dias eu fiz um software para automaçao industrial so não consigo desligar o computador guando eu fecho o programa.
Pegunto:
01- como fazer para fechar o programa via codigo?
02 - no evento onclose: como fazer para desligar o pc??
se alguem souber por favor me ajude ate mais e muito obrigado!
Transistorbr
Curtir tópico
+ 0
Responder
Posts
09/05/2004
Fabio.hc
Tente assim:
Função para Desligar o Windows 2000
Use-a assim:
WinExit(EWX_SHUTDOWN or EWX_FORCE);
Ou
Desligando Windows via programação
Função para Desligar o Windows 2000
Use-a assim:
WinExit(EWX_SHUTDOWN or EWX_FORCE);
function WinExit(flags: integer): boolean; function SetPrivilege(privilegeName: string; enable: 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(privilegeName), tp.Privileges[0].LUID) then begin if enable 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 if SetPrivilege(´SeShutdownPrivilege´, true) then begin ExitWindowsEx(flags, 0); SetPrivilege(´SeShutdownPrivilege´, False) end; end;
Ou
Desligando Windows via programação
function ExitWindowsEx(uFlags : integer; // shutdown operation dwReserved : word) : boolean; // reserved external ´user32.dll´ name ´ExitWindowsEx´; procedure Tchau; const EWX_LOGOFF = 0; // Dá "logoff" no usuário atual EWX_SHUTDOWN = 1; // "Shutdown" padrão do sistema EWX_REBOOT = 2; // Dá "reboot" no equipamento EWX_FORCE = 4; // Força o término dos processos EWX_POWEROFF = 8; // Desliga o equipamento begin ExitWindowsEx(EWX_FORCE, 0); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)