by mcl » 17 Mar 2021, 16:43
Пониятие выделенного текста полностью зависит от контекста. Например, в Notepad++ может быть выделено несколько кусков текста в разных местах, в Excel есть разница между текстом, выделенным в редактируемой ячейке, и выделенной ячейки с текстом, а в MSWord и браузерах выделять можно и форматированный текст, и изображения.
Работа с выделенным текстом явно прописана для нативных системных компонентов вроде текстового поля. Во многих других случаях, самым простым решением будет
Ctrl+C:
Code: Select all
~*LButton Up:: ; для выделения мышкой
~^a:: ; для Ctrl+A
~*Right:: ; для выделения клавиатурой
~*Left::
~*Up::
~*Down::
prevClip := ClipboardAll ; сохраняем содержимое буфер обмена
Clipboard := ""
Send ^c
ClipWait, 0.1
selectedText := Clipboard ; сохраняем выделенный текст в переменную
Clipboard := prevClip ; возвращаем прежнее содержимое
TrayTip, Работаем с текстом, % selectedText ? selectedText : "<нет текста>"
Return
Пониятие выделенного текста полностью зависит от контекста. Например, в Notepad++ может быть выделено несколько кусков текста в разных местах, в Excel есть разница между текстом, выделенным в редактируемой ячейке, и выделенной ячейки с текстом, а в MSWord и браузерах выделять можно и форматированный текст, и изображения.
Работа с выделенным текстом явно прописана для нативных системных компонентов вроде текстового поля. Во многих других случаях, самым простым решением будет [kbd]Ctrl+C[/kbd]:
[code]
~*LButton Up:: ; для выделения мышкой
~^a:: ; для Ctrl+A
~*Right:: ; для выделения клавиатурой
~*Left::
~*Up::
~*Down::
prevClip := ClipboardAll ; сохраняем содержимое буфер обмена
Clipboard := ""
Send ^c
ClipWait, 0.1
selectedText := Clipboard ; сохраняем выделенный текст в переменную
Clipboard := prevClip ; возвращаем прежнее содержимое
TrayTip, Работаем с текстом, % selectedText ? selectedText : "<нет текста>"
Return
[/code]