Форум: "Сети";
Текущий архив: 2010.11.21;
Скачать: [xml.tar.bz2];
Вниз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="Îøèáêà ñöåíàðèÿ 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c