1

Тема: AHK: Запустить подпрограмму Edit, в сторонней программе

Есть контрол Edit в сторонней программе, и есть кнопка - сохранить. При нажатии сохранить, текст введённый при помощи ControlSetText не сохраняется. При помощи ControlSendRaw сохраняется, но не устраивает не только скорость ввода большого текста, но главное, что часто искажаются вводимые символы (в других программах такого пока не замечал).

Устанавливать фокус на контрол нельзя.

На примере:
Как тут:


Gui, Add, Edit, x5 y5 w110 h111 r2 vEdit gControlGet HWNDhEdit, Edit1
Gui, Show, na, Gui

1::
    ControlSetText, Edit1, новый текст, Gui
    
    Return
    
ControlGet: 
    GuiControlGet, Edit
    ToolTip % Edit
    Return

нажав "1", ввести текст в Edit не активировав окно, и запустить метку "ControlGet"?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2

Re: AHK: Запустить подпрограмму Edit, в сторонней программе

Кстати если заменить опцию r2 на r1, то метка всё таки запускается от ControlSetText, может это ключ к разгадке?


Gui, Add, Edit, x5 y5 w211 r1 vEdit gControlGet, текст
Gui, Show, na, Gui

1::  
    ControlSetText, Edit1, новый текст, Gui
    Return
    
ControlGet: 
    GuiControlGet, Edit
    ToolTip % Edit
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3 (изменено: serzh82saratov, 2014-02-03 13:05:17)

Re: AHK: Запустить подпрограмму Edit, в сторонней программе

Пока так придумал:


Gui, Add, Edit, x5 y5 w211 r2 vEdit gControlGet, текст  
Gui, Show, na, Gui

1::  
    Text = новый текст
    ControlSetText, Edit1, % SubStr(Text, 2), Gui  
    SendMessage, 0x102,% Asc(SubStr(Text, 1, 1)), , Edit1, Gui ; WM_CHAR
    ; перевод каретки в крайнее положение
    PostMessage,0x00B1, % StrLen(Text), -1, Edit1, Gui    ;    EM_SETSEL = 0x00B1
    Return
    
ControlGet: 
    GuiControlGet, Edit
    ToolTip % Edit
    Return

WM_CHAR запускает метку вводя первый символ.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui