Что нового

Почему не сразу скрипт завершает работу при нажатии клавишь?

agikon

Знающий
Сообщения
789
Репутация
17
клмвиши контрол+q зарезервированы в скрипте чтобы скрипт сарзу закрывался.

Код:
HotKeySet('^q','_exit')

;--- код 


Func  _exit()
            Exit
Endfunc


нажимаю контрол+q и не понятно как оно выходит, то сразу скрипты выходят то три часа думает.
Может чтото в коде не так? Или может есть способ как то жестко зарезервировать, чтобы так сказать наверняка.
Что можете посоветовать?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Ну,..
покажи этот код
;--- код

Там и так кой чего не хватает.

Вот справочный:

Код:
; Press Esc to terminate script, Pause/Break to "pause"

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage")  ;Shift-Alt-d

;;;; Body of program would go here ;;;;
While 1
    Sleep(100)
WEnd
;;;;;;;;

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc

Func Terminate()
    Exit 0
EndFunc

Func ShowMessage()
    MsgBox(4096,"","This is a message.")
EndFunc
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Попробуй так:
Код:
#include <Misc.au3>
;Код....
AdlibRegister('_Exit', 1)

While 1
	Sleep(100)
WEnd

Func _Exit()
	If _IsPressed('11') And _IsPressed('51') Then Exit ;CTRL + Q
EndFunc
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Yuriy, Zaramot
спасибо Вам ребята.
Оказывается дело было в шляпе.
ой сколько не учи а...
короче собака была зарыта в том что в скрипте нажималась клавиша пробел, и оказывается что если клавиша пробел нажата то хоть нажимай контрол+q хоть не нажимайте, реакции будет ноль. Отключил нажатие клавиши пробел и сразу всё заработало заработало.
Вот возьмите это на вооружение потому что такой случай и у вас может случится! И можно дооолго искать причину. Я во тсам три дня не мог понять в чем дело, вот только что понял, и вот отписуюсь.
 
Верх