Умножение не поможет, само собой, т.к. findwnd(#2) никогда ничего не найдёт.Flasher писал(а):И как исправить? С умножением вообще не срабатывает.
Я же написал, надо проверять на существование окна внутри другого окна, а не рядом, т.к. дочернее окно можно найти только внутри окна верхнего уровня. Например, если ты посылаешь сообщения окну findwnd(#2,,findwnd(#3),#4), то и в проверке существования должно быть точно такое же выражение.Flasher писал(а):Можешь макросом? Не улавливаю. Я пробовал избавиться от дочернего окна, но становилось только хуже.
Вообще, я посмотрел на окно переименователя, там матрёшка целая: окно, в нём TPanel, в ней TMyGroupBox, в нём TMyComboBox, ещё и с индексами бардак... Искать надо так же:
Код: Выделить всё
TCFS2 /ei "settext(`hwnd ` findwnd(TMyComboBox,,findwnd(TMyGroupBox,,findwnd(TPanel,,findwnd(TMultiRename),1),4)))"Код: Выделить всё
settext_wait=loop(@<=if_empty(#3,5)*20 && if(#2,settext(#1,#2)*0,delay(50)))Код: Выделить всё
TCFS2 /ef "tcm(2400,1) eval(settext_wait(`yohoho`, findwnd(TMyComboBox,,findwnd(TMyGroupBox,,findwnd(TPanel,,findwnd(TMultiRename),1),4))))"Выбирать элемент комбобокса можно макросом (выбирается первая строка, начинающаяся с заданного текста):И как это сделать через TCFS2? Я привёл 2 примера, один из которых имеет редактируемый комбобокс. Хотелось бы конкретики.
Код: Выделить всё
select=sendmsg(#2, $14E, sendmsg(#2, $14C, 0, #1))
select_wait=loop(@<=if_empty(#3,5)*20 && if(#2,select(#1,#2)*0,delay(50)))Код: Выделить всё
TCFS2 /ef "tcm(508,1) eval(select_wait(`7z`, findwnd(TComboBox,,findwnd(TMyGroupBox,,findwnd(TDLGZIP)))))"