WebBrowserでJavaScriptのイベントを取得するには

解決


しし丸  2004-12-01 15:16:04  No: 11984  IP: 192.*.*.*

WebBrowserでHTML表示し、
ページ内のJavascriptでwindow.closeを実行すると、
WebBrowserが見えなくなります。

Window.closeを実行したときにフォームを閉じたいのですが、
どのようにするとイベントを取得できますか?

お願いします。

編集 削除
TtPIPICH  2004-12-02 16:02:34  No: 11985  IP: 192.*.*.*

アプリケーションイベントのonMessageで
if (Msg.hwnd=ブラウザ.Handle) and (Msg.message=WM_CLOSE) then
begin
フォーム.close;
end;
とすると、何故かエラーが出るようです。
調べておきます。

編集 削除
TtPIPICH  2004-12-02 16:12:21  No: 11986  IP: 192.*.*.*

よくかんがえるとフォームを閉じるならブラウザは閉じなくて良いんですね。
TApplicationEventsを配置してonMessageに
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
if (Msg.hwnd=ブラウザの名前.Handle) and (Msg.message=wm_close) then
begin
ブラウザのあるフォーム名前.Close;
handled:=true;
end;
end;
でできました。

編集 削除
しし丸  2004-12-06 02:59:11  No: 11987  IP: 192.*.*.*

上記のソースコードでフォームを閉じることができました。
ありがとうございました。

編集 削除
しし丸  2004-12-06 03:00:51  No: 11988  IP: 192.*.*.*

解決のチェックを入れ忘れてしまいました。

編集 削除