webBrowserのクリック位置を取得する

概要

windowsフォームアプリケーションを作成する過程で、ウィンドウのクリック位置を取得する必要がありました。作成したアプリに一部ウェブブラウジングをしたい部分があり、webBrowserというフォームがあり、それを使用すれば、簡単にアプリケーションをブラウザに組み込むことができました。

しかし、私が欲しい仕様の機能は、マウスクリックの位置が検出できるブラウザでした。(そのほかにも、デフォルトのままのwebBrowserだと、IE7の表示となっており、現在のwebをブラウズするにはかなり問題があります、、、)

デフォルトのWebBrowserには、いろいろと調べた結果、webBrowserクラスを拡張して実現できる、ということがわかり、ネット検索をし、実装しましたので、その備忘録です。(ほぼソースコピペです^^;)

環境

windows 10 pro

visual studio comunity 2019のフォームアプリケーションで作成

プログラム(外部サイト参照)

いろいろ探し、試した結果、以下のサイト(PDF)のもので動作しました。

http://junko036.html.xdomain.jp/pdf/controls/WebBrowserMouseClick.pdf

exWebBrowser(拡張webBrowser)としてWebBrowserを継承してマウスクリックイベントなどを追加しています。

使用の流れ(構成)としては、

1.拡張webBrowserの動作させるIEバージョンの指定

2.拡張webBrowserの起動(フォーム配置)の記載

3.IEバージョン指定のレジストリ削除

4.マウスクリック時の関数

5.拡張webBrowserクラスの定義

このexWebBrowserクラスは、使い勝手が良いので、webBrowserの代わりに使用しています。