他のアプリケーションが起動されているかを調べる

他のアプリケーションが起動されているかを調べる

FindWindow関数の第一引数(クラス名)か第2引数(ウィンドウ名)に起動を調べたいアプリケーションの値を代入する。
起動していればHWNDが返り、起動していなければNULLが返る。

ウィンドウ名を指定する方法が簡単。

例えば、電卓が起動しているのかを調べるなら、
hwnd = FindWindow(NULL, "電卓");

しかし、メモ帳の場合
hwnd = FindWindow(NULL, "無題 - メモ帳");
となり、ファイルに名前がつけられている場合「無題」がファイル名になるため汎用性がない。

そのような場合、クラス名を指定する。
Excelの場合、
hwnd = FindWindow("XLMAIN", NULL);

クラス名が分からない場合、FindWindowで取得したハンドルをGetClassName関数に渡せばよい。


参考
FindWindow関数(msdn)
GetClassName関数(msdn)
VB テクニック編2 - Windows API、ウィンドウハンドル取得、ウィンドウ制御(SAK 図書館)

0 件のコメント:

コメントを投稿