выключить комп |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
выключить комп |
kikoz |
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Репутация: 1 |
привет,народ в программировании я начинающий любитель.понадобилась тут мне програмка,которая бы выключала комп через заданное количество минут (ну скажем до 1000) искать такую прогу в нете лень,да разобраться самому было бы приятнее. как бы такое реализовать на паскале? какой оператор комп выключает-то?
-------------------- Знанием API пугать никого не нужно...
|
kikoz |
Сообщение
#2
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Репутация: 1 |
оказывается тут не все так просто,пообщался с дядей Гуглем,нашел один способ,но мне кажется он чреват потерей данных (на момент выключения у меня будет работать всего одна программа-eMule):
var t: _Token_Privileges; ht: cardinal; rl: cardinal; begin if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, ht) then begin LookupPrivilegeValue(nil, 'SeShutdownPrivilege', t.Privileges[0].Luid); t.PrivilegeCount:=1; t.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(ht, false, t, 0, nil, rl); end; ExitWindowsEx(EWX_FORCE or EWX_SHUTDOWN, 0); end; проверить пока не могу-на работе нету Делфи -------------------- Знанием API пугать никого не нужно...
|
Текстовая версия | 29.04.2024 16:34 |