![]() |
|
#1
|
|||
|
|||
![]() Всем здравствуйте.
Вот пишу следуйщий код: uses ComObj var IE,Doc: Variant; begin IE := CreateOleObject('InternetExplorer.Application'); IE.Visible := True; IE.Navigate2('http://www.stc-istok.com.ua'); while (IE.ReadyState<>4) or (IE.Busy) do begin Sleep(100); Application.ProcessMessages; end; Doc := IE.Document; Doc.execCommand('SaveAs',False,'c:\test1.htm' ); после его выполнения у меня появляеться окна сохранения теперь мне надо как то нажать сохраниться ,конечно можно просто нажать на кнопку сохранить и потом проверять пока активно окно прогресса сохранения тогда оставться в цикле while. а к окна нет то выходить из цикла.но это замарочено через findwindow писать.Должен быть способ проще какой-то через COM.Максимум в пару строк.Так какой же? И почему если я хочу нажать энтер в активное окно вот так keybd_event(VK_RETURN,0,0,0); keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);то всё работает,а если я хочу так же нажать клавиатурную правую кнопу мыши вот так keybd_event(VK_RBUTTON,0,0,0); keybd_event(VK_RBUTTON,0,KEYEVENTF_KEYUP,0); то она не нажимаеться.Кто нить сталкивался? |