Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Как выключить/перезагрузит/ждущий режим комп?   Найти похожие ветки 

 
Dr.Pauk ©   (2004-05-31 23:45) [0]

я тут впервые.. так что извиняйте, если что не так ;)
вопрос:  обьясните какой функцией реализуется выкл,перезагруз. и переход в ждущий режим компьютера? и какие приэтом модули подключаются? И ваще КАК это делается?

ответ буду ждать с нетерпением.... так как на носу курсовик...
а это фишка в проге не работает:(
заранее благодарен!


 
Cobalt ©   (2004-05-31 23:51) [1]

выкл и перезагруз - ExitWindows (или ExitWindowsEx)
переход в ждущий режим - вроде(типа ;-) SetSystemPowerState


 
grom   (2004-06-01 08:50) [2]

пример для ХР
procedure TForm1.Button1Click(Sender: TObject);
var hToken:THandle;
Luid: TLargeInteger;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES,
                   hToken)
then begin
 LookupPrivilegeValue(nil, "SeShutdownPrivilege", Luid);
 tkp.Privileges[0].Luid := Luid;
 tkp.PrivilegeCount:=1;
 tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
 if AdjustTokenPrivileges(hToken, False, tkp, 0, nil,
                          ReturnLength)
  then if not ExitWindowsEx(EWX_LOGOFF,0)
   then ShowMessage("Íå óäàëîñü ñìåíèòü ïîëüçîâàòåëÿ");
end;
end;
//mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
procedure TForm1.Button2Click(Sender: TObject);
var hToken:THandle;
Luid: TLargeInteger;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES,
                   hToken)
then begin
 LookupPrivilegeValue(nil, "SeShutdownPrivilege", Luid);
 tkp.Privileges[0].Luid := Luid;
 tkp.PrivilegeCount:=1;
 tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
 if AdjustTokenPrivileges(hToken, False, tkp, 0, nil,
                          ReturnLength)
  then if not ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0)
   then ShowMessage("Íå óäàëîñü âûêëþ÷èòü êîìïüþòåð");
end;
end;
//mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
procedure TForm1.Button3Click(Sender: TObject);
var hToken:THandle;
Luid: TLargeInteger;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES,
                   hToken)
then begin
 LookupPrivilegeValue(nil, "SeShutdownPrivilege", Luid);
 tkp.Privileges[0].Luid := Luid;
 tkp.PrivilegeCount:=1;
 tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
 if AdjustTokenPrivileges(hToken, False, tkp, 0, nil,
                          ReturnLength)
  then if not ExitWindowsEx(EWX_REBOOT,0)
   then ShowMessage("Íå óäàëîñü ïåðåçàãðóçèòü ñèñòåìó");
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
4-1086076656
Shc
2004-06-01 11:57
2004.07.11
Как поместить календарь на форму?


1-1088406270
RustamuS
2004-06-28 11:04
2004.07.11
отмена перехода по гиперссылки


3-1086856718
JPG
2004-06-10 12:38
2004.07.11
Запись рисунка jpg в Access базу


14-1087932871
gn
2004-06-22 23:34
2004.07.11
сегодня получил письмо чуть бутербродом не подавился


1-1088059865
Maks Realov
2004-06-24 10:51
2004.07.11
Проблема с созданием библиотеки ресурсов.