![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перезагрузить компьютер [D7, WinXP]
Dmitry_177 © (2007-04-02 13:07:00)Как можно полностью перезагрузить компьютер?
Сделал так:
ExitWindows(EWX_REBOOT, 0);
но компьютер не полностью перезагружается, а выходит из текущего пользователя в окно ввода пароля..
Dmitry_177 (2007-04-02 13:33:00) [1]Спасибо!!! =)
Rouse_ (2007-04-02 13:26:00) [2]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
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.FormCreate(Sender: TObject);
begin
SetPrivilege('SeShutdownPrivilege', True);
end;
// Выключить комп
procedure TForm1.Button1Click(Sender: TObject);
begin
ExitWindowsEx(EWX_POWEROFF, 0);
end;
// Перезагрузить
procedure TForm1.Button2Click(Sender: TObject);
begin
ExitWindowsEx(EWX_REBOOT, 0)
end;
// Завершить сеанс
procedure TForm1.Button3Click(Sender: TObject);
begin
ExitWindows(EWX_LOGOFF, 0)
end;
// Ждущий режим
procedure TForm1.Button4Click(Sender: TObject);
begin
SetSystemPowerState(True, False);
end;
// Спящий режим
procedure TForm1.Button5Click(Sender: TObject);
begin
SetSystemPowerState(False, False);
end;
end.