start: ; Найти наг-скрин Total Commander invoke FindWindow,szNag,NULL or eax,eax jz loc_exit
; Сохранить хэндл окна mov [nag],eax
; Найти нужный номер кнопки invoke EnumChildWindows,[nag],FindNastyNumber,NULL
; Кликнуть на нужную кнопку invoke EnumChildWindows,[nag],ClickNastyButton,NULL
loc_exit: invoke ExitProcess,0
; Рекурсивная функция перебора всех дочерних элементов proc FindNastyNumber hwnd:dword,lParam:dword mov [buff],0 ; Прочитать текст дочернего элемента invoke GetWindowText,[hwnd],buff,3 cmp eax,1 jne @f ; Сохранить текст кнопки invoke lstrcpy,button+1,buff @@: invoke EnumChildWindows,[hwnd],FindNastyNumber,NULL
mov eax,1 ret endp
; Рекурсивная функция перебора всех дочерних элементов proc ClickNastyButton hwnd:dword,lParam:dword mov [buff],0 ; Прочитать текст дочернего элемента invoke GetWindowText,[hwnd],buff,3 ; Это текст искомой кнопки? invoke lstrcmp,buff,button or eax,eax jnz @f
Хм... Так тут толку что оно написано на ассемблере, тут обычные вызовы апи-функций, имитация нажатий на клавишу осуществляется посредством посылки сообщения в то окно. Эту же самую операцию легко можно проделать в делфи. Да и в Делфи этот код не вставишь, мы же не на Pure Basic пишем
Но все равно спасибо за код, попробую под вечер покопаться еще и в этом направлении.