5つのウィンドウを持つアプリケーションがあります。 私はそのプロセスのPIDを持っていて、どうすれば得ることができますかすべてそのプロセスのWindowHandles?C#:ProcessnameですべてのウィンドウのWindowHandlesを取得
ありがとうございました。
5つのウィンドウを持つアプリケーションがあります。 私はそのプロセスのPIDを持っていて、どうすれば得ることができますかすべてそのプロセスのWindowHandles?C#:ProcessnameですべてのウィンドウのWindowHandlesを取得
ありがとうございました。
このMSDN articleで説明したいくつかのPInvokeのものから始めます。
ユーザーこのような何か:
Process[] processes = Process.GetProcesses(".");
foreach (var process in processes)
{
var handle = process.MainWindowHandle;
}
はい。そんなこと知ってる。他の4つのウィンドウはどうですか? – Lzzzra
すべてのウィンドウを繰り返し、HWNDからプロセスIDを取得し、このプロセスIDを目的のIDと照合することができます。GetWindowThreadProcessIdをチェックしてください –
はMainWindowHandleを取得し、それにEnumChildWindowsを呼び出します。
たぶんよりも良いのPInvokeなりますマネージコードを呼び出すと、あなたはここより見つけることができますManaged Windows API
([EnumChildWindows] http://www.pinvoke.net/default.aspx/user32を呼び出し、その後MainWindowHandleを取得ANS .enumchildwindows)をクリックします。 –