Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перезагрузка, выключение, выход из системы. [D7, WinXP]


Earth ©   (2005-06-10 19:24:00) 

Я думаю из названия всё понятно, если у кого есть коды - покажите, а то все те что я видел, только делают Log off.


Vit@ly   (2005-06-10 19:49:00) [1]

Попробуй
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_LOGOFF,0);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetPrivilege('SeShutdownPrivilege',True);
ExitWindowsEx(EWX_POWEROFF,0);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
SetPrivilege('SeShutdownPrivilege',True);
ExitWindowsEx(EWX_REBOOT,0);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
SetPrivilege('SeShutdownPrivilege',True);
ExitWindowsEx(EWX_SHUTDOWN,0);
end;

Надеюсь из наименования параметров ясно, чт делает каждый из ButtonClick
Успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо