1 (изменено: k3fjeee, 2022-08-16 08:52:51)

Тема: AHK: Ппроблема при использовании Send, %Clipboard%

Привет.

При попытке вставить текст из буфера (Send, %Clipboard%) не вставляются некоторые символы !, # , ", +. (Это те которые мне удалось заметить)

Например: Текст в буфере #Пр!ивет, то вставится только Првет (без буквы и).

Как мне решить проблему?

Решил проблему так: Send, ^v

Это единственное решение?

2

Re: AHK: Ппроблема при использовании Send, %Clipboard%

Команда Send по умолчанию отправляет не текст, а клавиши. А перечисленные символы (кроме кавычки, которая посылается без проблем) имеют специальное значение (читайте справку по Send, там же узнаете, как это обойти).

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Ппроблема при использовании Send, %Clipboard%

teadrinker
Догнал, спасибо

4

Re: AHK: Ппроблема при использовании Send, %Clipboard%

Только используйте, пожалуйста, точки в конце предложений, у нас с этим строго.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Ппроблема при использовании Send, %Clipboard%

teadrinker хаха, хорошо.

6 (изменено: becauseim, 2022-10-12 11:05:27)

Re: AHK: Ппроблема при использовании Send, %Clipboard%

^!space::
@:=Clip()
RunWait, Everything.exe, %A_ProgramFiles%\Everything\
Clip(@)
return

Clip(Text="", Reselect=""){ ; http://www.autohotkey.com/forum/viewtopic.php?p=467710 , modified February 19, 2013
	Static BackUpClip, Stored, LastClip
	If (A_ThisLabel = A_ThisFunc) {
		If (Clipboard == LastClip)
			Clipboard := BackUpClip
		BackUpClip := LastClip := Stored := ""
	} Else {
		If !Stored {
			Stored := True
			BackUpClip := ClipboardAll ; ClipboardAll must be on its own line
		} Else
			SetTimer, %A_ThisFunc%, Off
		LongCopy := A_TickCount, Clipboard := "", LongCopy -= A_TickCount ; LongCopy gauges the amount of time it takes to empty the clipboard which can predict how long the subsequent clipwait will need
		If (Text = "") {
			SendInput, ^c
			ClipWait, LongCopy ? 0.6 : 0.2, True
		} Else {
			Clipboard := LastClip := Text
			ClipWait, 10
			SendInput, ^v
			;~ Send %Clipboard%
		}
		SetTimer, %A_ThisFunc%, -700
		Sleep 20 ; Short sleep in case Clip() is followed by more keystrokes such as {Enter}
		If (Text = "")
			Return LastClip := Clipboard
		Else If (ReSelect = True) or (Reselect and (StrLen(Text) < 3000)) {
			StringReplace, Text, Text, `r, , All
			SendInput, % "{Shift Down}{Left " StrLen(Text) "}{Shift Up}"
		}
	}
	Return
	Clip:
	Return Clip()
}

Если не отпустить модификаторы, вставка буфера не срабатывает.
Подскажите, что нужно изменить, чтобы избежать такого конфликта?

7

Re: AHK: Ппроблема при использовании Send, %Clipboard%

becauseim, не используйте старые чужие темы, создайте свою.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder