Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 13.05.2007, 23:28   #1
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Адрес: Одесса
Сообщений: 278
Репутация: 122

icq: 602960
По умолчанию выключение, перезагрузка компьютера

Подскажите команды выключения, перезагрузки, ждущего режима, спящего режима Windows XP.

Команды типа Windows.EWX_REBOOT что-то не работают, или они не под XP?
Подскажите работающие команды
ATL вне форума   Ответить с цитированием
Старый 14.05.2007, 01:27   #2
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
Репутация: 285
По умолчанию

На, пользуйся.

procedure TForm1.Button1Click(Sender: TObject);
var
hproc, htoken: THandle;
ht: cardinal;
luid: int64;
luidattr: LUID_AND_ATTRIBUTES;
priv: Token_Privileges;
r: DWORD;
res: BOOL;
dal: LongBool;
buf: PChar;
begin
hProc:=GetCurrentProcess;
hToken:=0;
OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, 'SeShutDownPrivilege', luid);
luidattr.Luid := luid;
luidattr.Attributes:=SE_PRIVILEGE_E NABLED;
priv.PrivilegeCount:=1;
priv.Privileges[0]:=luidattr;
r:=0;
res:=AdjustTokenPrivileges(hToken, false, priv, 0, nil, r);
ExitWindowsEx(EWX_Shutdown+EWX_POWE ROFF,0);

end;
__________________
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума   Ответить с цитированием
Старый 14.05.2007, 21:19   #3
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Адрес: Одесса
Сообщений: 278
Репутация: 122

icq: 602960
По умолчанию

А как прописать это в ComboBox ?

Подставить нужно сюда вместо пустого места:
Код:

   case ComboBox1.ItemIndex of
    0:           // Завершение сеанса
    1:           // Ждущий режим
    2:           // Спящий режим
    3:           // Перезагрузка ПК
    4:           // Выключение ПК
   end;

ATL вне форума   Ответить с цитированием
Старый 15.05.2007, 00:23   #4
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
Репутация: 285
По умолчанию

Сперва устанавливаешь привилегии, а потом прописываешь в свой case нужный флаг вот так:

procedure TForm1.Button1Click(Sender: TObject);
var
hproc, htoken: THandle;
ht: cardinal;
luid: int64;
luidattr: LUID_AND_ATTRIBUTES;
priv: Token_Privileges;
r: DWORD;
res: BOOL;
dal: LongBool;
buf: PChar;
begin
hProc:=GetCurrentProcess;
hToken:=0;
OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, 'SeShutDownPrivilege', luid);
luidattr.Luid := luid;
luidattr.Attributes:=SE_PRIVILEGE_E NABLED;
priv.PrivilegeCount:=1;
priv.Privileges[0]:=luidattr;
r:=0;
res:=AdjustTokenPrivileges(hToken, false, priv, 0, nil, r);
case ComboBox1.ItemIndex of
0: // ExitWindowsEx(EWX_LOGOFF,0);
1: // Ждущий режим
2: // Спящий режим
3: // ExitWindowsEx(EWX_REBOOT,0);
4: // ExitWindowsEx(EWX_Shutdown+EWX_POWE ROFF,0);
end;
end;

Остальное не вспомню.
__________________
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума   Ответить с цитированием
Старый 16.05.2007, 01:57   #5
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Адрес: Одесса
Сообщений: 278
Репутация: 122

icq: 602960
По умолчанию

Спасибо большое!
ATL вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка компьютера antoha.by Паскаль 13 04.08.2008 09:39
Выключение компьютера aesoem Общие вопросы Delphi 2 03.07.2008 16:50
Выключение и перезагрузка Патрон Win Api 8 26.03.2008 17:24
Выключение/Перезагрузка в Vista Veiron Общие вопросы Delphi 5 13.01.2008 10:35
выключение компьютера Svop Общие вопросы Delphi 23 18.12.2006 23:57


20:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru