Войти

Показать полную графическую версию : [решено] Ограничение использования "горячих кнопок" по времени... Очень интересный вопрос...


sashadeg
23-03-2009, 14:06
после запуска программы вылазит окно, в котором вводишь какой-нибудь текст и после нажатия кнопки HOME(возле DELITE) программа сама печатает этот текст.
Но мне нужно вот что... Нужно ограничить использование кнопки HOME не больше чем 1 раз в минуту. То есть: Нажал HOME и сиди жди пока пройдёт минута, чтобы можно было нажать ещё раз =) Как это осуществить??? ВОПРОС ПРОСТО АРХИВАЖНЫЙ
Обьясните пожалуйста вот на этом простом примере...

MsgBox(0, "HotKey", "Активация: HOME , Выход из программы: Alt+HOME")

Opt("TrayMenuMode", 1)

$uzi = InputBox ("HotKey","Введите число")
If @Error = 1 Then
MsgBox(4096, "HotKey", "OK. Bye!")
Exit
EndIf

HotKeySet("!{home}", "Terminate")
HotKeySet("{home}", "gun")
While 1
Sleep(100)
WEnd

Func Terminate()
MsgBox(4096, "HotKey", "OK. Bye!", 1)
Exit 0
EndFunc

Func gun()
send($uzi)
EndFunc

sashadeg
23-03-2009, 16:54
Я пробывал использовать "ProcessWaitClose"... Запускалась программа с кодом: sleep (60000) и моя программа ждала пока вторая программа не завершиться.... Но HOME всё равно работала....

Creat0R
23-03-2009, 23:14
Opt("TrayMenuMode", 1)

MsgBox(0, "HotKey", "Активация: HOME , Выход из программы: Alt+HOME")

Global $iTimer = 0
Global $iTime_Interval = 5

$Uzi = InputBox("HotKey", "Введите число")

If @Error = 1 Then
MsgBox(4096, "HotKey", "OK. Bye!")
Exit
EndIf

HotKeySet("!{HOME}", "Terminate")
HotKeySet("{HOME}", "Gun")

While 1
Sleep(100)
WEnd

Func Terminate()
MsgBox(4096, "HotKey", "OK. Bye!", 1)
Exit 0
EndFunc

Func Gun()
If TimerDiff($iTimer) >= $iTime_Interval * 1000 Then $iTimer = 0

If $iTimer = 0 Then
Send($Uzi)
$iTimer = TimerInit()
EndIf
EndFunc

sashadeg
24-03-2009, 10:38
спасибо!!! Всё работает!!! +1 =)




© OSzone.net 2001-2012