Сохранение выделенного текста без использования буфера обмена

Помощь в написании скриптов
Gorky
Posts: 1
Joined: 12 Dec 2017, 05:44

Сохранение выделенного текста без использования буфера обмена

12 Dec 2017, 06:05

Нашёл только один способ сохранения выделенного текста в переменной - через буфер обмена.

Code: [Select all] [Download] GeSHi © Codebox Plus

$Clip1 := "" ; Clears variable
Send, {ctrl down}c{ctrl up} ; More secure way to Copy things
Sleep, 50 ; Delay
$Clip1 := Clipboard


Есть ли способы, не затрагивающие буфер обмена?
Через PostMessage/SendMessage, например? Или другим способом?

Спасибо.

P.S.: для сравнения, в программе HotKeyboard для выделенного текста есть своя переменная - Selection.
User avatar
Masonjar13
Posts: 1333
Joined: 20 Jul 2014, 10:16
GitHub: Masonjar13
Location: Не Россия

Re: Сохранение выделенного текста без использования буфера обмена

12 Dec 2017, 06:17

Я не знаю другого пути. Однако вы можете сохранить буфер обмена и восстановить его.

Code: [Select all] [Download] GeSHi © Codebox Plus

saveClipboard(){
local ; обеспечить, чтобы глобальные переменные никогда не использовались
tmp:=clipboardAll ; сохранить буфер обмена
Send, {ctrl down}c{ctrl up}
clipWait,0.5 ; половина секунды
selected:=clipboard
clipboard:=tmp ; восстановить буфер обмена
return selected
}

Использование функции делает так, что вам не нужно каждый раз переустанавливать переменную. Если не указано как "Static," функциональные переменные являются временными.
Извините за Google Translate :shifty:
A_AhkUser
Posts: 785
Joined: 06 Mar 2017, 16:18
Location: France

Re: Сохранение выделенного текста без использования буфера обмена

12 Dec 2017, 14:14

Здраствуйте,

Если речь идёт о Edit control, то можно использовать ControlGet,, Selected.
При случае, Вам нужно ID или ClassNN control обеспечивающий Вам способом в его опознании за исключением всех других:

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus


Return to “Помощь”

Who is online

Users browsing this forum: No registered users and 1 guest