Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Ограничение использования "горячих кнопок" по времени... Очень интересный вопрос... (http://forum.oszone.net/showthread.php?t=135556)

sashadeg 23-03-2009 14:06 1072000

Ограничение использования "горячих кнопок" по времени... Очень интересный вопрос...
 
после запуска программы вылазит окно, в котором вводишь какой-нибудь текст и после нажатия кнопки 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 1072249

Я пробЫвал использовать "ProcessWaitClose"... Запускалась программа с кодом: sleep (60000) и моя программа ждала пока вторая программа не завершиться.... Но HOME всё равно работала....

Creat0R 23-03-2009 23:14 1072641

Код:

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 1072988

спасибо!!! Всё работает!!! +1 =)


Время: 07:12.

Время: 07:12.
© OSzone.net 2001-