Тема: AHK: Работа с буфером обмена
Хочу по хоткею произвести некоторые действия с выделенным текстом и вернуть его обратно.
Пробую следующий код:
; Shift+CapsLock
+CapsLock::
convertedText := DoSmth(GetSelectedText())
tmpcl = %ClipboardAll%
Clipboard = %convertedText%
SendInput {Control Down}{v Down}{v Up}{Control Up}
Clipboard = %tmpcl%
tmpcl := ""
return
GetSelectedText() {
tmp = %ClipboardAll%
Clipboard := ""
Send, ^c
ClipWait, 1
selection = %Clipboard%
Clipboard = %tmp%
return (selection = "" ? Clipboard : selection)
}
DoSmth(text)
{
return %text%
}
Но работает совсем странно - вместо выделенного вставляется обратно то, что было в буфере обмена изначально.

