Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.21;
Скачать: CL | DM;

Вниз

TWebBrowser и заполнение формы.   Найти похожие ветки 

 
ZIlog   (2008-12-15 00:25) [0]

Столкнулся со следующей ситуацией - запоняю через TWebBrowser форму, нажимаю submit - вобще всё как положено, в ответ страница мне выводит диалоговое окно, мол "всё ок", и предлагает нажать единственную кнопку.

Возник вопрос: могу ли я как то отследить появление этого окна, и так же - программно нажать эту кнопку?

ps. Делаю всё для себя, никаких брутфорсов и т.п.


 
Palladin ©   (2008-12-15 08:17) [1]

проще js запретить.


 
ZIlog   (2008-12-15 11:16) [2]

хм... спорный момент, может мне и помешать.
хорошо, а как его запретить?


 
Eraser ©   (2008-12-15 18:05) [3]

> [2] ZIlog   (15.12.08 11:16)

моежт лучшее вообще TWebBrowser не трогать, а формировать ответ вручную.


 
ZIlog   (2008-12-15 22:30) [4]

Eraser, нет, формировать вручную ненадо. Форма большя, полей куча - мне надо заполнить только небольшую часть. К остальным я отношения не имею, и предполагаю, что их кол-во может измениться - словом, лишний гемор ни к чему.

Предыдущй вопрос остается актуальным.


 
Zilog   (2008-12-17 21:45) [5]

решение, может кому пригодится:

procedure TFMain.WMActivate(var Msg: TWMActivate);
begin
TrapWM_Activate(Msg);
inherited;
end;

procedure TFMain.TrapWM_Activate(var Msg: TWMActivate);
var
 L:Integer;
 wnd:Integer;
 WinClass,WinCaption:string;
 ShouldShow:boolean;
 ShouldClose:boolean;
begin
if Msg.Active = 0 then
 begin
 wnd := Msg.ActiveWindow;
 SetLength(WinClass,80);
 SetLength(WinClass,GetClassName(wnd, PChar(WinClass), Length(WinClass)));
 L:=GetWindowTextLength(wnd);
 SetLength(WinCaption,L+1);
 GetWindowText(Wnd,PChar(WinCaption),L+1);
 SetLength(WinCaption,L);
 ShouldShow:=(WinCaption<>"");
 if ShouldShow then
   begin
   ShouldClose:=(WinCaption="&#206;&#248;&#232;&#225;&#234;&#224; &#241;&#246;&#229;&#237;&#224;&#240;&#232;&#255; Windows Internet Explorer") and (WinClass="Internet Explorer_TridentDlgFrame");
   ShouldClose:=ShouldClose or ((WinCaption="Windows Internet Explorer Script Error") and (WinClass="Internet Explorer_TridentDlgFrame"));
   ShouldClose:=ShouldClose or ((WinCaption="Windows Internet Explorer") and (WinClass="#32770"));
   if ShouldClose then SendMessage(wnd, WM_CLOSE, 0, 0);
   end;
 end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1281602585
boriskb
2010-08-12 12:43
2010.11.21
К спецам по PHP


15-1281125385
Кто б сомневался
2010-08-07 00:09
2010.11.21
Как запустить lnk сети программно?


15-1282002935
Дмитрий С
2010-08-17 03:55
2010.11.21
Синхронизация доступа к хешу.


6-1199895934
Danger
2008-01-09 19:25
2010.11.21
Разобрать Chunked encoded


2-1283276087
barsik
2010-08-31 21:34
2010.11.21
Как сделать загрузку формы динамично