|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблема со знанием WinApi
Добрый день форумчане.
Вообщем задача такая: Через программу написаную на Delphi открыть программу AnVir Task Manager (1)? потом в ней программно нажать на кнопку "Сохранить" (2), далее в выпавшем списке также программно нажать "Сохранить как текст или Html..."(3). Пока что все удалось до последнего пункта, нивкакую не хочет нажимать на кнопку (3). Подскажите как можно получше реализовать или реализовать вообще. Код:
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, 'open', 'C:\Program Files\AnVir Task Manager\AnVir.exe', nil, nil, SW_SHOWNORMAL); end; procedure TForm1.Button2Click(Sender: TObject); begin h :=FindWindow(nil, 'AnVir Task Manager'); if h <> 0 then begin ShowMessage('Окно найдено'); h2 := FindWindowEx(h, 0,'ReBarWindow32', ''); if h2 <> 0 then begin h3 := FindWindowEx(h2, 0,'ToolbarWindow32', ''); if h3 <> 0 then begin postmessage(h3, WM_LBUTTONDOWN, 10, 10); postmessage(h3, WM_LBUTTONUP, 10, 10); postmessage (h4,wm_Activate,0,0); postmessage (h4,wm_SetFocus,0,0); postmessage (h4,wm_Enable,0,0); postmessage(h4, WM_LBUTTONDOWN, 5, 12); postmessage(h4, WM_LBUTTONUP, 5,12); end else ShowMessage('Окно НЕнайдено'); end else ShowMessage('Окно НЕнайдено') end else ShowMessage('Окно НЕнайдено'); end; procedure TForm1.Button3Click(Sender: TObject); begin h :=FindWindow(nil, 'AnVir Task Manager'); postmessage(h,WM_Close,0,0); end; |
#2
|
|||
|
|||
можно keybd_event стрелками и enter нажать
ещё можно посмотреть не посылает ли нажатие [3] wm_command с постоянными параметрами, но может быть и что они меняются раз от раза |
#3
|
|||
|
|||
Через клавиатуру тоже пробовал, никак не могу фокус взять на нужное окно и получается что он не там на клаву нажимает.
Код:
postmessage (h4,wm_Activate,0,0); postmessage (h4,wm_SetFocus,0,0); postmessage (h4,wm_Enable,0,0); |
#4
|
|||
|
|||
attachthreadinput
|