非常に古いプロジェクトコードあなたが書いた理由は、今思い出すことができません。
[DLLIMPORT(" user32.dllの" )] パブリック 静的 にexternのIntPtrのFindWindow(文字列 lpClassName、ストリングlpWindowName)。 [DLLIMPORT(" user32.dllの" )] 公共 のextern 静的 INT getClassNameメソッド(のIntPtr hWndは、StringBuilderのlpClassName、INT nMaxCount)。 [DLLIMPORT(" User32.dllの" )] パブリック 静的 にexternのIntPtr FindWindowEx(のIntPtr親のIntPtrチャイルド、文字列 strclass、ストリングFrmText)。 [DLLIMPORT(" user32.dllの" )] パブリック 静的 にextern INT EnumChildWindows(のIntPtr hWndParent、コールバックlpfn、INT lParamに)。 パブリック デリゲート ブールコールバック(のIntPtr hwndは、int型のlParam); /// <要約> ///は見出しに応じてサブウィンドウの名前を返し、サブクラスの親ウィンドウハンドル /// </要約> /// ます。<param name =「HwndName」> クラス名サブウィンドウ</ PARAM > /// ます。<param name = "WindowName"> タイトル親ウィンドウ</ param>の /// <戻り値> </戻り値> パブリック 静的のIntPtr FindWindowExOrde(文字列 HwndName、文字列WindowName) { IntPtr HwndId = 新しいのIntPtr(); IntPtr HWND =のFindWindow(NULL 、WindowName)。 IntPtr ChildHwndWindow = FindWindowEx(HWND、IntPtr.Zero、NULL、NULL ); VAR H = EnumChildWindows(HWND、(X、L)=> { StringBuilderのSB = 新規のStringBuilder(HwndName.Length + 2 )。 もし(X!= IntPtr.Zero) { getClassNameメソッド(X、SB、sb.Capacity)。 もし(HwndName.Equals(sb.ToString())) { HwndId = X。 返す 真; } } それ以外の リターン はfalse ; 返す 真; }、0 ); 返すHwndIdを。 }