Webbrowserで表示されたダイアログにエンターを送る方法

解決


ともあき  2006-06-15 09:54:16  No: 22193

WebBrowserにEditのテキストを送るには?
等を参考にし,Web巡回ソフトのような物を作っていますが,
巡回先のWEBで表示されるダイアログにエンターキーの入力を
送ることはできないでしょうか?
そのWEBではJAVAScriptのConfirm()メソッドでダイアログがでるようになっています.
通常表示されているWebの必要な場所のクリックには
以前にこちらで紹介されていた以下のようなかんじで行っています.

procedure WebClick(X:integer;Y:integer);
var
    hIE:HWND;
begin
  hIE := FindWindowEx(WebBrowser1.Handle,0,'Shell DocObject View',nil);
  hIE := FindWindowEx(hIE,0,'Internet Explorer_Server',nil);
  if hIE = 0 then exit;
  SendMessage(hIE,WM_LBUTTONDOWN,0,MakeLParam(X,Y));
  SendMessage(hIE,WM_LBUTTONUP,0,MakeLParam(X,Y));
end;


えーとね  2006-06-17 04:51:33  No: 22194

こちらにalert やconfirm を再定義する方法が紹介されています。
http://groups.yahoo.com/group/delphi-webbrowser/message/9297


ともあき  2006-06-18 09:28:14  No: 22195

えーとねさんの方法とはちがいますが,

Twebbrowserの
onCommandStateChangeに
keybd_event(VK_RETURN,0,0,0)
でできました

ページによっていつダイアログが出るかわからない場合は,
再定義のほうがよさそうです


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加