Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: 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 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1148347973
Призрак
2006-05-23 05:32
2006.06.11
"промотать" Edit в конец


15-1147757331
Ega23
2006-05-16 09:28
2006.06.11
С Днём Рождения! 16 мая


3-1145283023
Сергей И
2006-04-17 18:10
2006.06.11
Неправильно записывает из базы в EXel


15-1147860109
ЛшдлуттнСфе
2006-05-17 14:01
2006.06.11
Гаубица. Возможное и невозможное.


2-1148237446
Чувак
2006-05-21 22:50
2006.06.11
word