2013-11-09 2 views
1

Я хочу, чтобы мой сценарий автошотки имел щелчки мыши, когда я нажимаю shift + 3 клавиши на моей клавиатуре, игнорируя нажатую клавишу shift.AutoHotkey - Игнорировать нажатую клавишу

Например, я попытался это таким образом:

+3:: 
SetMouseDelay, 0 
MouseGetPos, xpos, ypos 
Send {Shift Up} 
BlockInput, on 
Send {Shift Up} 
MouseClick, right, uhxpos, uhypos 
Sleep, 41 
MouseClick, left, yourxpos, yourypos 
MouseMove, xpos, ypos 
BlockInput, off 
return 

И даже пытался ждать когда сдвиг не физически отпущена, до сих пор не успех;

+3:: 
SetMouseDelay, 0 
MouseGetPos, xpos, ypos 
KeyWait, + 
MouseClick, right, uhxpos, uhypos 
Sleep, 41 
MouseClick, left, yourxpos, yourypos 
MouseMove, xpos, ypos 
return 

Поблагодарили бы за любую помощь, спасибо.

+0

Итак, вы держите сдвиг *, а * Вы нажать 'shiftf3'? Или вы хотите, чтобы подпрограмма запускалась * после того, как вы нажимаете 'shiftf3', но, несмотря на то, что сдвиг удерживается? – bgmCoder

+0

Возможно, вы идете по этому пути неправильно. Что именно вы пытаетесь выполнить, tring, чтобы заблокировать «shift»? – bgmCoder

ответ

0

использование KeyWait, Shift вместо KeyWait, +

2

Попробуйте отправить {Сдвиг вниз} до {Перемещение вверх} и, возможно, вы должны заменить Отправить с SendInput:

+3:: 
    MouseGetPos, xpos, ypos 
    SetMouseDelay, 0 
    Sleep, 100 
    SendInput, {Shift Down} 
    SendInput, {Shift Up} 
    MouseClick, right, uhxpos, uhypos 
    Sleep, 41 
    MouseClick, left, yourxpos, yourypos 
    MouseMove, xpos, ypos 
Return 
Смежные вопросы