Fórum Desligar a cpu após executar várias tarefas #218955
08/03/2004
0
:cry:
Preciso que após o .exe delphi ter executado várias tarefas (à noite); seje
disparada uma função que desligue a máquina. Alguém sabe como implementar isto. Fico muito grato. :lol:
Preciso que após o .exe delphi ter executado várias tarefas (à noite); seje
disparada uma função que desligue a máquina. Alguém sabe como implementar isto. Fico muito grato. :lol:
Agfarias
Curtir tópico
+ 0
Responder
Posts
08/03/2004
Dan.sm
Tente executar pelo seu programa o comando shutdown do console do windows.
*Só funciona em 2000/XP
*Só funciona em 2000/XP
Responder
Gostei + 0
08/03/2004
Cebikyn
Pode-se desligar o computador usando esta função:
A função a cima deve funcionar para windows 95/98/2000/NT/Me e Xp, se não funcionar, verifique o site:
http://www.swissdelphicenter.ch/en/showcode.php?id=168
para maiores informações sobre o assunto.
procedure TForm1.Button1Click(Sender: TObject); begin MyExitWindows(EWX_POWEROFF or EWX_FORCE); end; function MyExitWindows(RebootParam: Longword): Boolean; var TTokenHd: THandle; TTokenPvg: TTokenPrivileges; cbtpPrevious: DWORD; rTTokenPvg: TTokenPrivileges; pcbtpPreviousRequired: DWORD; tpResult: Boolean; const SE_SHUTDOWN_NAME = ´SeShutdownPrivilege´; begin if Win32Platform = VER_PLATFORM_WIN32_NT then begin tpResult := OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TTokenHd); if tpResult then begin tpResult := LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, TTokenPvg.Privileges[0].Luid); TTokenPvg.PrivilegeCount := 1; TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; cbtpPrevious := SizeOf(rTTokenPvg); pcbtpPreviousRequired := 0; if tpResult then Windows.AdjustTokenPrivileges(TTokenHd, False, TTokenPvg, cbtpPrevious, rTTokenPvg, pcbtpPreviousRequired); end; end; Result := ExitWindowsEx(RebootParam, 0); end;
A função a cima deve funcionar para windows 95/98/2000/NT/Me e Xp, se não funcionar, verifique o site:
http://www.swissdelphicenter.ch/en/showcode.php?id=168
para maiores informações sobre o assunto.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)