Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
3-1087301567
zevsus
2004-06-15 16:12
2004.07.11
Interbase(Firebird 1.5): Опустошение и репликация


3-1087459727
serg128
2004-06-17 12:08
2004.07.11
Как получить значение вычислимого поля?


3-1087387328
serg128
2004-06-16 16:02
2004.07.11
Как добавить колонку в DBGrid?


14-1087756965
Мазут Береговой
2004-06-20 22:42
2004.07.11
Ещё один веселый анекдот! :-)))))


1-1088462480
Новенький
2004-06-29 02:41
2004.07.11
Как сохранить?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский