![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выключение компа [D6, WinXP]
Paladin © (2004-04-13 18:56:00)Как можно программно выключить комп? (перезагрузить)??
--------------------------------------------
И еще: как сделать прогу в стиле Xp (кнопки и т.д.)
Если что-то нужно скажите где взять!
Спасибо!!
(AD)acid (2004-04-15 11:57:00) [1]В XP можно не извращаться
запусти ShutDown.exe с нужными параметрами
Например : shutdown.exe -r -t 5
Anatoly Podgoretsky (2004-04-13 19:45:00) [2]http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N162
Floppy (2004-04-13 19:36:00) [3]Не скажу по поводу D6, но этот код выключает компьютер под WinXP
Function SetPrivilege(aPrivilegeName: String; aEnabled: 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(aPrivilegeName),TP.Privileges[0].LUID ){)} then
Begin
IF aEnabled 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;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetPrivilege('SeShutdownPrivilege',True);
ExitWindowsEx(EWX_POWEROFF,0);
end;
Аналогично и перезагружает