Como dar shutdown em Windows 2000,NT e XP ??
13/02/2003
0
ñ funciona em windows 2000,NT e XP ....
a unica q funciona eh ExitWindowsEx(EWX_FORCE,1) ;
mas eu presiso q o pc seja realmente deslogado ....
provavelmente eh algo simples, mas naum sei ....
valeu a atenção ....
Anonymous
Posts
13/02/2003
Anonymous
Ateh mais,
Eduardo Alves
13/02/2003
Anonymous
bem, fico esperando ... hehehe ....
mas valeu ....
13/02/2003
Anonymous
valeu a atenção ....
13/02/2003
Anonymous
Essa função comigo funcionou. Ve se te ajuda:
procedure DesligaMicro;
var
hToken : THandle;
tkp : TOKEN_PRIVILEGES;
zero : DWord;
begin
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, ´SeShutdownPrivilege´, tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
zero := 0;
AdjustTokenPrivileges(htoken, FALSE, tkp ,zero ,nil, zero);
ExitWindowsEx(EWX_POWEROFF, 0)
end;
Variações dentro do ExitWindowsEx:
{
EWX_LOGOFF // Dá ´logoff´ no usuário atual
EWX_SHUTDOWN // ´Shutdown´ padrão do sistema
EWX_REBOOT // Dá ´reboot´ no equipamento
EWX_FORCE // Força o término dos processos
EWX_POWEROFF // Desliga o equipamento
EWX_FORCEIFHUNG // Não sei o que faz...
}
Bom, acho que eh isso. Espero ter ajudado.
[]´s
Eduardo Alves
13/02/2003
Anonymous
Essa função comigo funcionou. Ve se te ajuda:
procedure DesligaMicro;
var
hToken : THandle;
tkp : TOKEN_PRIVILEGES;
zero : DWord;
begin
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, ´SeShutdownPrivilege´, tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
zero := 0;
AdjustTokenPrivileges(htoken, FALSE, tkp ,zero ,nil, zero);
ExitWindowsEx(EWX_POWEROFF, 0)
end;
Variações dentro do ExitWindowsEx:
{
EWX_LOGOFF // Dá ´logoff´ no usuário atual
EWX_SHUTDOWN // ´Shutdown´ padrão do sistema
EWX_REBOOT // Dá ´reboot´ no equipamento
EWX_FORCE // Força o término dos processos
EWX_POWEROFF // Desliga o equipamento
EWX_FORCEIFHUNG // Não sei o que faz...
}
Bom, acho que eh isso. Espero ter ajudado.
[]´s
Eduardo Alves[/quote:36e4f4fc37]
Ah, eh possível tb fazer combinações na função ExitWindowsEx, combinaçoes do tipo and e or. Por exemplo,
ExitWindowsEx(EWX_POWEROFF or EWX_LOGOFF, 0)
19/02/2003
Anonymous
[]´s .....
Clique aqui para fazer login e interagir na Comunidade :)