アプリ版:「スタンプのみでお礼する」機能のリリースについて

似たような質問ですがわからないことがあるので質問します。
Enumwindows関数でタスクバーにあるウインドウ(トップレベルウィンドウ)を列挙することはできましたが、そのプロセスIDを表示させることができませんでした。
別のプログラムでプロセスIDを表示させることはできましたが
そのプログラムですとすべてのプロセスを表示することになるので
これでは自分のやりたい事と少し違うので困っています。
どうしたらタスクバーにあるプロセスIDをとりだすことができるので
しょうか?
自分では
GetWindowThreadProcessId関数
EnumChildWindows関数
を使用すればいいと思ってますが、具体的なプログラムが
くめていません。
どうかよろしくおねがいします。

A 回答 (1件)

★アドバイス


>自分では
>GetWindowThreadProcessId関数
>EnumChildWindows関数
>を使用すればいいと思ってますが、具体的なプログラムが
>くめていません。
 ↑
 これで出来ると思います。
 ただし列挙にはトップレベル用の EnumWindows 関数を使います。
・ウインドウの列挙は出来ているようですのでプロセスIDの取得法だけ教えます。
 下のサンプルを参考にして下さい。

サンプル:
DWORD dwPID;

GetWindowThreadProcessId( hWnd, &dwPID );
printf( "プロセスID:%08X\n", dwPID );

※hWnd には EnumWindows 関数で取得したウインドウ・ハンドルを渡します。

以上。

参考URL:http://msdn.microsoft.com/library/ja/default.asp …
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございます早速試してみます。
まだあまり慣れてないのでいろいろな文献やwebのソースとにらめっこ
していました。
過去の質問状をみて推測はできたのですが自分がC言語に
十分な知識がないので、できずに困っていました。
これで解決できると思います。
本当にありがとうございました。

お礼日時:2007/12/01 08:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!