ウィンドウハンドルについて

■UI自動化について考える。

 

WindowsAPIを介してウィンドウ操作する為の要素として、ウィンドウハンドルという言葉について触れておきます。

WindowsAPIとして、Windows上でプログラミングをする為に提供されているライブラリには、.NETフレームワークとWIN32APIというものがありますが、WIN32APIを使ってウィンドウを指定して何かしらの処理をする場合に必要になるウィンドウの管理番号がウィンドウハンドルです。

 

WinActorのライブラリにちょくちょく登場する(WIN32)というキーワード。

なんだかWIN32APIは、かなり歴史が古くOSのかなりネイティブな部分に干渉できる機能のようです。

 

WinActorのライブラリでは、[11 ウィンドウ関連] – [ウィンドウハンドル取得]を使えば簡単に対象ウィンドウのウィンドウハンドルを取得できます。

WinActorスクリプト上では、「GetUMSWindowHandle(ウィンドウ識別名)」でウィンドウハンドルが取得できる様にWinActor独自関数が組まれています。

 

このウィンドウハンドルはコンピュータが各ウィンドウに対して割り振る共通のものなので、完全に一意です。

別の方法でウィンドウハンドルを取得しても同じIDが取得されます。

 

試しにExcelのVBAでこんなコードを書くと、これだけでも起動中のExcelのウィンドウハンドルが取得できます。

そして、こんなシナリオで同じExcelのウィンドウハンドルを取得してみても・・・。

同じIDが取得できていることが確認できる訳です。

タグ:

「ウィンドウハンドルについて」に3件のコメントがあります

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です