![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объектная модель IE (или как сохранить страницу) [D5, D7]
pavlo2 © (2006-05-04 01:19:00)Всем здравствуйте.
Вот пишу следуйщий код:
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); то она не нажимаеться.Кто нить сталкивался?
P.S. Может,кто-нибудь все-таки видел объектную модель IE.Киньте ссылку...Может таки там есть метод на "нормальное" сохранение.
SuperBUG (2006-05-06 16:10:00) [1]вопрос то в чем???? 80
Pavlo (2006-05-05 23:18:00) [2]uses MSHTML;
var
HTMLDocument: IHTMLDocument2;
PersistFile: IPersistFile;
begin
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
PersistFile := HTMLDocument as IPersistFile;
PersistFile.Save(StringToOleStr('С:\test.txt'), True);
while HTMLDocument.readyState <> 'complete' do Application.ProcessMessages;
Ну а как же такая строка что значит?
SuperBUG (2006-05-05 20:39:00) [3]объектная модель
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reflist_vb.asp
а вот что касается сохранения загруженного документа-то похоже в тихаря он не сохраняется %) . Если поискать в MSDN,можно обнаружить что для сохранения страниц микрософт предлагает пихать их в буфер и оттуда писать в файл...где-то для любителей VB мне это попадалось...