го параметра командной
строки
/ / кол-во 100 нс интервалов
//1000
мс =
1000 * 10 000
/ / положительные значения
= абсолютному времени
/ / отрицательные = относи-
тельному
tmr := 10000*
strtointdef(paramstr(1), 1000);
/ / длительность будильника
из 2-го параметра командной строки
dlit:= strtointdef(paramstr(2), 1000);
/ / мелодия будильника из 3-го параметра коман-
дной строки
musik:= paramstr(3);
/ / создаем таймер, работающий в ждущем режиме
wnd:= CreateWaitableTimerW(nil, true, ‘SLEEP-
ALARM’);
/ / устанавливаем длительность таймера
нении данного скрипта? Ф
Тут мы командой
%cd%
задаем путь к текущей ди-
ректории и через пробел па-
раметры командной строки.
А именно: время отсчета бу-
дильника 5000 мс (знак ми-
нус определяет, что оно бу-
дет относительным от мо-
мента начала сна), длитель-
ность воспроизведения ме-
лодии равное 12000 мс (за-
держка до закрытия прило-
жения) и путь с именем аудиофайла, который слу-
жит в качестве мелодии будильника.
Формат данного аудиофайла может быть как МРЗ,
WAV или OGG. Впрочем, сие не столь важно, по-
скольку задачу воспроизведения и поддержки мы
возложили на стандартный программный интер-
фейс MCI от Windows. Таким образом, если в систе-
ме присутствует кодек на заданный формат, то бу-
дет и поддержка его воспроизведения. Возможно
также задание видеофайла в качестве медиафайла.
SetWaitableTimer(wnd, tmr, 0, nil, nil, true);
signal:= WaitForSingleObject(wnd, INFINITE);
/ / воспроизводим заданную мелодию
MCISendString(PChar(‘play ‘ + musik), nil, 0, 0);
sleep(dlit); / / ожидаем заданное время
/ / деактивируем задачу и завершаем работу
CancelWaitableTimer(wnd);
end.
После компиляции тестового приложения по клави-
ше
F 9
и задания в консоли команды *?’, мы увидим ок-
но краткой справки по работе с будильником
(р и с . 9 ).
Управляем будильником
П
араметры управления следующие:
to_sleep_alarm [timer] [duration_musik]
[path_ musik]
где
tim er
- отрицатель-
ные значения (мс) задают
относительное время, по-
ложительные - абсолют-
ное;
duration_m usik
- вре-
мя (мс) ожидания до завер-
шения приложения (опре-
деляет длительность звуча-
ния мелодии);
path_musik
- путь к медиа-файлу.
Откройте блокнот и напи-
шите следующую команду
для запуска нашей утилиты:
%cd%to_sleep_alarm
-
5000 12000 nw. mp3
Теперь сохраните в batch-
файл с именем
te st.b a t.
Что произойдет при выпол-
Как быстро перейти в спящий режим?
Т
ут все просто. Достаточно написать следующий
batch-файл, а еще лучше просто создать по
правой кнопке мыши новый ярлык на рабочем столе
(Создать
>
Ярлык,
рис. 10-12)
со следующей ко-
мандной строкой управления энергопитанием:
rundll32.exe powrprof.dll, SetSuspendState 0,1,0
После чего назначить на ярлык любимую ком-
бинацию “горячих клавиш” и вызывать при не-
обходимости.
На прощание
О
братите внимание, если у вас не работает
приложение, то необходимо проверить не
включен ли гибридный спящий режим (смените
его на спящий) и активирован ли у вас в настрой-
ках электропитания пункт
“Разреш ит ь таймеры
п р обуж ден ия” .
Полные исходные тексты и ре-
сурсы проекта (файл
a l a r m - s l e -
e p .z ip )
вы можете загрузить с
сайта автора (
h ttp ://rax p .rad io lig a.
с о т / cn t/s.p h p ?p = alarm -sleep .zip
или
h ttp ://rax p .rad io lig a.co m /m p c/
alarm -sleep.zip).
Если тема пред-
ставляет для вас интерес - пи-
шите, задавайте вопросы. Прият-
ных вам снов!
Шна9 Сергей Бадло
Рис
.
12. Н азначаем кнопки
быстрого вы зова
- К о г д а у т -
р о м я слышу зв ук будиль-
ника, м н е ка ж е т с я , чт о
в м еня выстрелили.
- И вы вскакивает е?
-
Н ет , л е ж у к а к уб ит ы й!
предыдущая страница 30 Компьютер 2014 02 читать онлайн следующая страница 32 Компьютер 2014 02 читать онлайн Домой Выключить/включить текст