1 (изменено: Q_BASIC, 2016-08-22 19:21:24)

Тема: GetKeyState всегда говорит что кнопка не нажата.

Приветствую,

Код:

vk6B::
	Loop
	{
		Send, 1
		Sleep, 50 ;
		
		GetKeyState, state, vk6B, P
		
		FileAppend, %state%, D:\D\log.txt
		
		if state = "U"
			Break
	}
Return

Привязывается к кнопке на мышке, имени у нее нет. В проге у мышки, если все бинды убрать с кнопки, то AHK вообще нажатия не видит. Сейчас поставил бинд "Увеличить масштаб", после получил виртуальный код, своего имени вообще нет.

Надо чтобы когда я нажимал эту кнопку, была имитация того, что я быстро кликаю ЛКМ, до того времени, когда я отпущу кнопку. (Сейчас "Send, 1" для теста, после заменю на Click)

Пытаюсь, пытаюсь. В результате вывел всё в лог, держу - не держу, а в логе только U.

2 (изменено: Indomito, 2016-08-22 20:22:47)

Re: GetKeyState всегда говорит что кнопка не нажата.

Кстати, а зачем проверка то, vk6B:: и без GetKeyState сработает... или тут глубокий смысл?

Q_BASIC пишет:

Надо чтобы когда я нажимал эту кнопку, была имитация того, что я быстро кликаю ЛКМ, до того времени, когда я отпущу кнопку. (Сейчас "Send, 1" для теста, после заменю на Click)

ну так и напиши... вроде не сложно, а дополнительные проверки излишне... IMHO.

Надо так.

#InstallKeybdHook
#InstallMouseHook

vk6B::
vkTMP := A_ThisHotkey
while (GetKeyState(%A_ThisHotkey%, "P") && (vkTMP = A_ThisHotkey))
 {
    Sleep, 25
   ;Что то делаем - нажимаем и т.д. (можно упростить)
}
Return


Код не проверял, но должен сработать.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

3 (изменено: Q_BASIC, 2016-08-22 21:45:44)

Re: GetKeyState всегда говорит что кнопка не нажата.

Indomito

Ну смысл в вашем коде тот же, что и в моем.

А толку вот нет. Чуть-чуть переделал:

#InstallKeybdHook
#InstallMouseHook

vk6B::
vkTMP := A_ThisHotkey

Send, 1

while (GetKeyState(%A_ThisHotkey%, "P") && (vkTMP = A_ThisHotkey))
{
	Sleep, 25
	Send, 1
}
Return

Первый раз сделал как у вас, никакой реакции. Добавил Send, 1, что бы видеть срабатывает ли вообще, 1 раз пишет и всё. Хоть держи кнопку, хоть не держи.

А у меня проверка для выхода из цикла, когда кнопку отжали.

4 (изменено: serzh82saratov, 2016-08-23 03:11:45)

Re: GetKeyState всегда говорит что кнопка не нажата.

NumpadAdd::
	While GetKeyState(A_ThisHotkey, "P")
		ToolTip 1
	ToolTip 0
	Return

или

NumpadAdd::
	While GetKeyState(A_ThisHotkey)
		ToolTip 1
	ToolTip 0
	Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: GetKeyState всегда говорит что кнопка не нажата.

serzh82saratov

Всегда показывает 0

6

Re: GetKeyState всегда говорит что кнопка не нажата.

Ради интереса, что за мышь? У меня на Х7 нормально.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: GetKeyState всегда говорит что кнопка не нажата.

serzh82saratov
Defender opera MB-880

8

Re: GetKeyState всегда говорит что кнопка не нажата.

NumpadAdd Up::MsgBox 

А так MsgBox появляется сразу при нажатии, или только когда отпускаешь клавишу?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: GetKeyState всегда говорит что кнопка не нажата.

serzh82saratov

Сразу, когда нажимаешь. И висит потом в одном месте.

В другом месте нажмешь - в другое тултип переместится.

Пропадает только когда закрываешь программу или как её назвать.

10 (изменено: Q_BASIC, 2016-08-24 22:31:11)

Re: GetKeyState всегда говорит что кнопка не нажата.

serzh82saratov

Может у нее вообще нет события отпускание кнопки? Или конкретно для этого бинда не посылает событие.

Всякая дичь есть, а толкового ничего нет.

http://prnt.sc/c9x813

Да и программа для бинда для другой мыши. Настраиваешь одну кнопку, настраивается другая

11

Re: GetKeyState всегда говорит что кнопка не нажата.

Просто посылает сразу даун-ап. Драйвер кривой или железо. Ну а про толковое я вам рассказал, бывает как минимум.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: GetKeyState всегда говорит что кнопка не нажата.

Может если не устанавливать драйвер - автохотки эту кнопку увидит?

13 (изменено: Q_BASIC, 2016-08-26 13:29:42)

Re: GetKeyState всегда говорит что кнопка не нажата.

Malcev
Просто закрыл программу у мыши, вообще никакой реакции. Как будто и не нажимаю.

Смотрел с помощью этой штуки: https://yadi.sk/d/D0IPwd5Na94yt

14

Re: GetKeyState всегда говорит что кнопка не нажата.

Ссылки тэгом оформляются.
Посмотрите этим, наверняка ХButton.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15

Re: GetKeyState всегда говорит что кнопка не нажата.

serzh82saratov

Показало XButton1, его вписал - заработало! Аффтар жжот!