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

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

Win2000 Server Shutdown [Win2k]


KDS ©   (2002-11-04 17:14:00) 

Как программно завершать работу сервера на винде 2000?
Включается он по таймеру из биоса. А вот как гасить его
без участия человека?
Это чтобы он сам утром включался и вечером по расписаню выключался


KDS   (2002-11-04 18:28:00) [1]

Круто! Спасобо, Marcus. (_)]


Marcus   (2002-11-04 17:37:00) [2]

Пишешь маленькую утилитку, где вызываешь ExitWindowsEx(EWX_POWEROFF or EWX_FORCE, 0), не забыв перед этим взять привилегии на вырубание компьютера:
var
hToken: HANDLE;
tkp: TOKEN_PRIVILEGES;
...
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, tkp, 0, nil, 0);

Затем идешь в Стандартные->Служебные->Назначенные задания, создаешь задание, куда включаешь ежевечернее выполнение твоей проги и со спокойной душой идешь пить пиво...


Наверх

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