Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизОбъектная модель 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 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c