Вниз
Скачать: CL | DM;

Объектная модель IE (или как сохранить страницу)   Найти похожие ветки 

← →
pavlo2   (2006-05-04 01:19) [0]

Всем здравствуйте.
Вот пишу следуйщий код:
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-05 20:39) [1]

объектная модель
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reflist_vb.asp

а вот что касается сохранения загруженного документа-то похоже в тихаря он не сохраняется %) . Если поискать в MSDN,можно обнаружить что для сохранения страниц микрософт предлагает пихать их в буфер и оттуда писать в файл...где-то для любителей VB мне это попадалось...


← →
Pavlo ©   (2006-05-05 23:18) [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-06 16:10) [3]

вопрос то в чем???? 80



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.034 c
1-1146100720
vidiv
2006-04-27 05:18
2006.06.11
Как быстро экспортировать RichEdit в свой формат?


15-1147629954
Imbac
2006-05-14 22:05
2006.06.11
Определить что на фотографии человек или машина


15-1147636626
Gero_
2006-05-14 23:57
2006.06.11
Вопрос к пользователям клиентских программ для форума


6-1139313666
Max2006
2006-02-07 15:01
2006.06.11
TWebBrowser &amp; JavaScript


15-1147670438
Ega23
2006-05-15 09:20
2006.06.11
С Днём рождения! 14 мая




   Наверх