Конференция "Сети" » TWebBrowser и заполнение формы. [D7, WinXP]
 
  • ZIlog (15.12.08 00:25) [0]
    Столкнулся со следующей ситуацией - запоняю через TWebBrowser форму, нажимаю submit - вобще всё как положено, в ответ страница мне выводит диалоговое окно, мол "всё ок", и предлагает нажать единственную кнопку.

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

    ps. Делаю всё для себя, никаких брутфорсов и т.п.
  • Palladin © (15.12.08 08:17) [1]
    проще js запретить.
  • ZIlog (15.12.08 11:16) [2]
    хм... спорный момент, может мне и помешать.
    хорошо, а как его запретить?
  • Eraser © (15.12.08 18:05) [3]
    > [2] ZIlog   (15.12.08 11:16)

    моежт лучшее вообще TWebBrowser не трогать, а формировать ответ вручную.
  • ZIlog (15.12.08 22:30) [4]
    Eraser, нет, формировать вручную ненадо. Форма большя, полей куча - мне надо заполнить только небольшую часть. К остальным я отношения не имею, и предполагаю, что их кол-во может измениться - словом, лишний гемор ни к чему.

    Предыдущй вопрос остается актуальным.
  • Zilog (17.12.08 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='Îøèáêà ñöåíàðèÿ 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;
 
Конференция "Сети" » TWebBrowser и заполнение формы. [D7, WinXP]
Есть новые Нет новых   [134435   +33][b:0][p:0]