Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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="&#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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
3-1247743513
Tonich
2009-07-16 15:25
2010.11.21
SQL запрос


15-1281299395
Юрий
2010-08-09 00:29
2010.11.21
С днем рождения ! 9 августа 2010 понедельник


3-1247807671
belmol
2009-07-17 09:14
2010.11.21
множество в условии


3-1242624205
Константин
2009-05-18 09:23
2010.11.21
Interbase - работа по сети


2-1283367516
Andrey K
2010-09-01 22:58
2010.11.21
В TListBox с помощью мыши поменять Items





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский