Flasher писал(а):А с диалогом
Открыть что-то можно придумать?:
Код: Выделить всё
/ef "tcm(2032,1) eval(settext_wait(`C:\List.txt`, findwnd(ComboBox,,,0,1)))"
/ef "tcm(2032,1) eval(settext_wait(`C:\List.txt`, findwnd(ComboBox,,findwnd(#32770),0,1)))"
Здесь у меня сработал такой вариант:
Код: Выделить всё
TCFS2 /ef "tcm(2032,1) delay(1000) eval(settext_wait(`C:\List.txt`, findwnd(Edit,,findwnd(ComboBox,,findwnd(#32770),0,1))))"
Не знаю, почему без задержки не работает, возможно, само окно устанавливает пустой текст полю ввода уже после TCFS2. Также не совсем понимаю, почему сам комбобокс игнорирует сообщение
WM_SETTEXT.
Flasher писал(а):Долго терпеть-то?

Если терпеть, то долго... Забыл я про TCFS2, постараюсь на днях сделать.
Flasher писал(а):Для чекбоксов и радиокнопок обнова требуется, или силами msg решаемо?
Какая обнова?
Flasher писал(а):+ Есть пожелание: если в findwnd вместо класса пишем A (@,#,$ - не суть), то берётся класс окна на переднем плане.
Да собственно для этого достаточно простого
findwnd(), что легко проверить с помощью команды:
Код: Выделить всё
TCFS2 /ef delay(2000) /ei "settext(findwnd())"
При этом в течение этих двух секунд можно открыть произвольный диалог тотала и потом найти вовращаемый дескриптор окна в дереве окон процесса. Однако беда в том, что на самом переднем плане почему-то оказываются окна с классом
Auto-Suggest Dropdown (скрытые вспомогательные окна) - они идут первыми по Z-порядку... Можно, конечно, пропускать скрытые окна, если
findwnd запускается вообще без параметров (хотя лучше наверное флаг завести для пропуска невидимых окон).