C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 57 を表示中)
■32399 / )  Re[1]: 画面に表示されているウィンドウを列挙したい
□投稿者/ επιστημη (1659回)-(2009/02/06(Fri) 10:12:52)
επιστημη さんの Web サイト
2009/02/06(Fri) 10:31:35 編集(投稿者)

> 画面に表示(というより、最小化されていないもの)されているウィンドウを列挙したい

System.Diagnostics.Process p に対し、
p.MainWindowHandle で得られたハンドルを引数に WindowsAPI: IsIconic を呼べば
そいつが最小化されてるか否かが得られます。

VB.NETから IsIconic-API を呼ぶには
Private Declare Auto Function IsIconic Lib "user32.dll" (ByVal hwnd As IntPtr) As Boolean
なんてな宣言しとけばおっけぃなんですが、C#からだと...えーと、ふぉろーよろしく > だれぞ

> IEやエクスプローラを複数起動していても、プロセスとしてひとつしか取得できません。

プロセスとしては一個しか立ち上がってないってことでしょうかね。
EnumWindows-API で(プロセスじゃなく)toplevel-windowを列挙せにゃならんかな。
ここらへん↓が使えそう。
http://msdn.microsoft.com/ja-jp/library/843s5s5x.aspx


返信 編集キー/


管理者用

- Child Tree -