のプロセスに関連付けられたウィンドウを列挙する方法タスクは、特定のすべてのウィンドウによって作成されたすべてのウィンドウを識別し、リストすることです.NETフレームワークを使用したプロセス。プロセスID(PID)を提供することにより、このタスクは、対応するすべてのウィンドウを列挙する効果的な方法を探します。雇用されます。次のコードスニペットは、このソリューションを実装する方法を示しています。
[dllimport( "user32.dll")]
static extern bool enumthreadwindows(int dwthreadid、enumthreaddelegate lpfn、
intptr lparam);
static iEnumerable
提供されたコードは、Windows Explorerプロセスに関連付けられているすべてのウィンドウを列挙する方法を示します:
delegate bool EnumThreadDelegate(IntPtr hWnd, IntPtr lParam); [DllImport("user32.dll")] static extern bool EnumThreadWindows(int dwThreadId, EnumThreadDelegate lpfn, IntPtr lParam); static IEnumerableEnumerateProcessWindowHandles(int processId) { var handles = new List (); foreach (ProcessThread thread in Process.GetProcessById(processId).Threads) EnumThreadWindows(thread.Id, (hWnd, lParam) => { handles.Add(hWnd); return true; }, IntPtr.Zero); return handles; }
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3