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;
こちらにalert やconfirm を再定義する方法が紹介されています。
http://groups.yahoo.com/group/delphi-webbrowser/message/9297
えーとねさんの方法とはちがいますが,
Twebbrowserの
onCommandStateChangeに
keybd_event(VK_RETURN,0,0,0)
でできました
ページによっていつダイアログが出るかわからない場合は,
再定義のほうがよさそうです
ツイート | ![]() |