Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2007, 18:39   #1
01001
Заблокирован
 
Регистрация: 08.04.2007
Сообщений: 4
Вопрос Модернизация кода по выключению компьютера

Здравствуйте многоуважаемые программисты. У меня возникло желание написать программу которая бы выключала компьютер по времени которое задано в SpinEdit. У меня есть код выключения компьютера:
-----------------------------------------------------------------

var
ph: THandle;
tp, prevst: TTokenPrivileges;
rl: DWORD;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, ph);
LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid);
tp.PrivilegeCount := 1;
tp.Privileges[0].Attributes := 2;
AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
---------------------------------------------------------------
но я не знаю как его можно изменить чтобы связать с компонентом SpinEdit, таймером. Пожайлуста предложите что-то или выложите исходник, очень надо!!!
01001 вне форума Ответить с цитированием
Старый 12.04.2007, 19:16   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

1) ставим таймер и кнопку. (таймер по умолчанию выключен, интервал 1000)
2) при нажатии на кнопку таймер включаем, и увеличиваем некую глобальную переменную (допустим Х) на 1 (изначально она равно 0). В таймере проверяем если переменная равна значению в SpinEdit, то выключаем.
Желательно значение из SpinEdit поместить в некую переменную (допустим Р), т.к. во время выполнения проги юзер может поменять значение, и может случится что комп никогда не выключится.

(в теории, на практике рано или поздно произойдёт переполнение переменной и всё начнётся с начала - это так, замечание)

кстати значение в SpinEdit - время в секундах до выключения.
zetrix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключение компьютера aesoem Общие вопросы Delphi 2 03.07.2008 16:50
Требуется модернизация сайта NurSulTan Фриланс 1 21.01.2008 17:39
как завершить роботу компьютера с помощью кода Amor_06 Безопасность, Шифрование 10 06.01.2008 23:30
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51
Имя компьютера asale Microsoft Office Excel 3 01.08.2007 22:05