1 (изменено: serzh82saratov, 2020-05-18 01:49:16)

Тема: AHK: Подтверждение ввода ControlSetText

Вопрос в том как после введённого текста с помощью ControlSetText сторонняя программа увидела его как изменённый.
В данном примере блокнот не запросит сохранение при выходе.
Можно конечно с ControlSend послать Ctrl+A  Ctrl+V, но хотелось бы узнать более надёжный способ.
Может после ControlSetText послать какое то сообщение, или с ControlSend отправить некий непечатный символ...

Да, забыл, новый текст может быть пустым, в этом случае содержимое Edit должно быть очищено.


WM_SETTEXT := 0xC

Text = 
(
AutoHotkey is a free, open-source scripting language for Windows that allows users to easily create small to complex scripts for all kinds of tasks such as: form fillers, auto-clicking, macros, etc.
)
 
Run notepad,,, PID
WinWait, ahk_pid %PID%
WinActivate

ControlSetText, Edit1, %Text%
; SendMessage, WM_SETTEXT, 0, &Text, Edit1
; ControlSendRaw, Edit1, %Text% 

; Clipboard := Text
; ControlSend, Edit1, {LCtrl Down}{A}{LCtrl Up}
; ControlSend, Edit1, {LCtrl Down}{V}{LCtrl Up}

MsgBox Close no confirm
WinClose
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

2 (изменено: serzh82saratov, 2020-05-18 02:08:02)

Re: AHK: Подтверждение ввода ControlSetText

Ещё один костыль, хотя бы без буфера.


ControlSetText, Edit1, %Text%
Control, EditPaste, % "_", Edit1
ControlSend, Edit1, {Backspace}

или


EM_SETSEL := 0xB1
ControlSetText, Edit1, _%Text%  
SendMessage, EM_SETSEL, 0, 0, Edit1 ; на всякий случай, хотя после ControlSetText каретка всегда в начале
ControlSend, Edit1, {Delete}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

3

Re: AHK: Подтверждение ввода ControlSetText

EM_SETMODIFY.

4

Re: AHK: Подтверждение ввода ControlSetText

https://docs.microsoft.com/en-us/window … e-messages
Да уж, пример ужасной невнимательности.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui