0

与えられた:

Process p;

私は次のことを行うことができます:

IntPtr hWnd = p.MainWindowHandle;

これにより、メインモジュールのメインウィンドウのHWndが得られます。

私がやりたいのは、プロセス内の別のモジュールのメインウィンドウのHWndを取得することです。おそらく、次のようになります。

IntPtr hWnd = p.Modules[0].MainWindowHandle;

このようなことは可能ですか?Win32API dllを使用する必要がある場合でも、問題ありません。

4

1 に答える 1

1

モジュールはウィンドウを所有していません。ウィンドウはプロセスによって所有されます。厳密に言えば、ウィンドウはそれらを作成したスレッドに親和性があります。ただし、表示されるウィンドウは常にプロセスのメインGUIスレッドによって作成されるため、ウィンドウがプロセスによって所有されていると考えるのは問題ありません。

たまたま、プロセス内のモジュールは、によって返されるウィンドウを作成した可能性がありますMainWindowHandle。したがって、何を求めているのかは実際には意味がありません。

于 2012-11-30T15:54:24.623 に答える