![]() |
изменение программы waiter.exe
Вложений: 1
Есть очень полезная программка, которую я использую в батнике, называется WAITER.exe. Она делает паузу в батнике, отсчитывает указанное количество секунд и завершается, выполнение батника продолжается. Причем тип завершение влияет на errorlevel. Если дождаться завершения отсчета или нажать ctrl+a, errorlevel 0, если нажать любую другую клавишу, то errorlevel 1. Возможно ли каким-то образом влезть в тело exe'шника и поменять так, чтобы errorlevel был 0 при завершении отсчета и при нажатии любой клавиши, а нажатие ctrl+a давало errorlevel 1?
Вот выдержка из описания, идущего с прогой: DESCRIPTION Waiter counts down for a default of five seconds, then terminates with ERRORLEVEL 0. If the user presses a key during countdown, waiter terminates with ERRORLEVEL 1. A hidden feature allows the user to terminate with ERRORLEVEL 0 by pressing ctrl-A. This allows the impatient user to override the wait, but take the default action. PARAMETERS waiter [-q -s seconds] msgline1 msgline2.... заранее благодарен. |
Проще написать заново этот waiter
А в чём состоит более общая задача? |
задача довольно-таки простая - запущенная в теле батника с параметром секунд, программа отсчитывает указанное число секунд, после чего завершается и выполнение батника продолжается. Но самая главная для меня функция - возможность завершить отсчет до истечения таймера со следующими условиями:
нажатие какого-то сочетания клавиш (ctrl+a например) результирует в errorlevel 1, а нажатие любой клавиши - errorlevel 0. Окончание отсчета так же результирует в errorlevel 0. подскажи, чем можно текст программы посмотреть, возможно, сам что-то смогу, да и на будущее пригодится. Был бы очень признателен за помощь! |
Цитата:
Код:
@echo off |
выполнение такого кода во всех вариантах (дождаться окончания счетчика, нажатия эникея, сочетание контрол+а) дает результат errorlevel 1. В чем смысл не понял :(
|
TheFox, у меня на XP вроде нормально работает... а смысл - уберите в конце ">nul", тогда перед ERRORLEVEL:0 должно быть выведено для окончания счетчика "Waiting: 0", для эникея что-то типа "# iting: 9", для Ctrl+A перед ERRORLEVEL:1 должно быть пусто
|
не очень пока въехал, но попробую поиграться, спасибо...
|
Вложений: 1
На другом форуме помогли с редактированием файла. Так что выкладываю, может кому пригодится.
errorlevel'ы такие: ctrl+a - 1 anykey - 0 wait - 0 с findstr пока не попробовал, времени нет. Но обязательно попробую и отпишусь... |
Время: 03:40. |
Время: 03:40.
© OSzone.net 2001-