1 (изменено: petrS24, 2017-10-08 19:17:37)

Тема: AHK: Копирование-вставка одной клавишей (УСКОРЕННАЯ, для нервных)

Первый раз в жизни пробовал программировать))
Основывался на этом http://forum.script-coding.com/viewtopic.php?pid=96170#p96170
Долго думал, получилось (клавиша " \ | " )


F12:: Suspend, Toggle

vkDC::
MouseGetPos, X, Y
keywait vkDC
p:=0
loop 15
 if GetKeyState("vkDC","p") and (p:=1)
    break
else
    sleep 1
send % ((p)? "^{vk43}" : "{Click X, Y}^{vk56}")

Работает, но не работают координаты, как я хотел(
Клик+вставка получается в том месте курсора, в котором клавишу уже отпустил. А я хотел в том месте, где только начинал нажимать клавишу.
Я мышкой быстро двигаю, жму вставку, а мышка дальше полетела жать другое, не жду вообще. Немало людей так быстро что-то делают-работают, думаю, что тема небесполезна.

2 (изменено: stealzy, 2017-11-24 08:52:43)

Re: AHK: Копирование-вставка одной клавишей (УСКОРЕННАЯ, для нервных)

MsgBox % ((p)? "^{vk43}" : "{Click X, Y}^{vk56}") ; Вот что у вас получается (замените, испытайте):
"{Click " X ", " Y " }^{vk56}" ; а так нужно

Вообще я использую такой вариант:

GroupAdd MediaPlayers, ahk_class PotPlayer64
GroupAdd MediaPlayers, ahk_class PotPlayer
GroupAdd MediaPlayers, ahk_class MediaPlayerClassicW
; GroupAdd MediaPlayers, ahk_exe AIMP.exe
GroupAdd MediaPlayers, ahk_class TAIMPMainForm
GroupAdd MediaPlayers, ahk_class TAIMPTrayControl

#IfWinNotActive ahk_group MediaPlayers
MButton::copyPaste() ; Средняя кнопка мыши (нажатие колесиком)
#If

copyPaste() {
	ClipSaved := Clipboard,Clipboard := ""
	Send ^{vk43} ; Ctrl+C (^{Ins})
	ClipWait 0.1
	if ErrorLevel {
		Click ; клик перед вставкой из буфера
		Clipboard := ClipSaved
		ClipWait 0.1
		Send ^{vk56} ; Ctrl+V (+{Ins})
	}
}

3 (изменено: petrS24, 2017-10-08 22:42:54)

Re: AHK: Копирование-вставка одной клавишей (УСКОРЕННАЯ, для нервных)

stealzy
Огромное СПАСИБО!!! Работает!
Я смотрел здесь http://www.script-coding.com/AutoHotkey/Click.html

Click 44, 55 Одиночный щелчок в месте с координатами 44, 55

Появилась проблема(
Курсор мыши возвращается в ту точку, где выполняется клик+вставка... Я побежал, а меня ловят, и утягивают в первоначальное место - можно так сказать))
Это можно убрать? Чтобы курсор был "независим" в этом случае?

Попробую взять ещё координаты и возвращать курсор на место((
Готово!

F12:: Suspend, Toggle

vkDC::
MouseGetPos, X1, Y1
keywait vkDC
p:=0
loop 15
 if GetKeyState("vkDC", "p") and (p:=1)
    break
else
    sleep 1
MouseGetPos, X2, Y2
send % ((p)? "^{vk43}" : "{Click " X1 ", " Y1 "}^{vk56}")
MouseMove, %X2%, %Y2%, %0%, %0%

Много натрахался. Я первый раз такое делаю и у меня проблемы с грамматикой.
Вообще не понимаю, когда " ", когда % %, когда пробел.
Только методом тыка получилось((

4

Re: AHK: Копирование-вставка одной клавишей (УСКОРЕННАЯ, для нервных)

stealzy пишет:
MsgBox %0%

я не понял к сожалению((

5

Re: AHK: Копирование-вставка одной клавишей (УСКОРЕННАЯ, для нервных)

petrS24 пишет:

Вообще не понимаю, когда " ", когда % %, когда пробел.

http://forum.script-coding.com/viewtopi … 76#p105176

6

Re: AHK: Копирование-вставка одной клавишей (УСКОРЕННАЯ, для нервных)

Malcev
СПАСИБО!