現在起動しているアプリケーションのウィンドウハンドルを取得する
|
最終更新 2004 02/20
サンプルのダウンロード → API_FindWindow.lzh(38k)
全ソースコード
FindWindow 関数
対応しているバージョン
95, 98, Me, NT3.1以降, CE1.0以降, 2000, XP
使用するヘッダとライブラリ
winuser.h
user32.lib
|
現在起動しているアプリケーションを調べて、そのウィンドウハンドルを
取得するにはいくつか方法がありますが、中でも簡単なのは FindWindow()
関数を使った方法です。
この関数の引数には、調べるウィンドウのクラス名とタイトルバーに表示
されている文字を指定します。
タイトルバーに表示されている文字は省略可能です。
この関数で取って来ることができるウィンドウハンドルは、親ウィンドウの
ハンドルです。
子ウィンドウのハンドルは取得できません。
また、同じアプリケーションが複数起動している場合は、現在フォーカスがある
ウィンドウか、フォーカスがない場合は、一番最後にフォーカスがあった
ウィンドウのハンドルを取得します。
FindWindow() 関数を使うには、あらかじめ調べたいウィンドウのクラス名が
分かっていないといけません。
このクラス名を調べるのは、結構大変です。
探せばコントロールパネルか、VC++ のツールにそういうアプリケーションが
あるかもしれません。
サンプルではウィンドウに標準で附属しているメモ帳のウィンドウハンドルを
調べています。
エディットボックスの値を変更すれば、他のアプリケーションのウィンドウの
ハンドルを取得することも可能です。
|