Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выключение компа

466
30 октября 2002 года
Helg
36 / / 20.02.2000
Как можно выключить компьютер с виндой (98-2000, ХР, ...)? (Если можно...)

Можно ли сделать так, чтобы при выключении компа (программным путем, а не кнопкой повер :) ) винда не предлагала мне сначала закрыть фар и проче?
2.3K
31 октября 2002 года
Sergant_DMS
8 / / 28.10.2002
Цитата:
Originally posted by Helg
Как можно выключить компьютер с виндой (98-2000, ХР, ...)? (Если можно...)

Можно ли сделать так, чтобы при выключении компа (программным путем, а не кнопкой повер :) ) винда не предлагала мне сначала закрыть фар и проче?



так можно потушить машину с NT, 2000 и XP,
но на Delphi, подправить на С думаю не сложно, нем более что функции все из API, они в хелпе есть. Под 95-98 всё проще, нет необходимости получать права на выключение питания.
Спрашивать о завершении приложений точно не станет, я проверял .

function ShutItDown(): Boolean;
var
Token: THANDLE;
tkp: TTokenPrivileges;
a: BOOL;
b: DWORD;

begin
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);
LookupPrivilegeValue('', 'SESHUTDOWNprivilege', tkp.Privileges[0].Luid);

tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
a:=False; b:=0;

AdjustTokenPrivileges(Token, a, tkp, b, nil, b);
ExitWindowsEx(EWX_POWEROFF or EWX_FORCE, 0);
end;

В 98 одна функция используется, её найдёшь в хелпе среди подобных этой, на неё и пример кажись есть.

421
01 ноября 2002 года
bercut
124 / / 20.06.2000
ExitWindowsEx(EWX_SHUTDOWN,0);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог