質問
このエラーが発生し続けるユーザーがいます。彼がこのエラーを取得し続ける理由を把握するために使用できるウィンドウハンドルカウントを行うツールはありますか。
System.ComponentModel.Win32Exception:ウィンドウハンドルの作成エラー。 System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)で System.Windows.Forms.Control.CreateHandle()で System.Windows.Forms.Form.CreateHandle()で System.Windows.Forms.Control.get_Handle()で System.Windows.Forms.Form.ShowDialog(IWin32Window owner)で
解決
私が知っている最高のカウンターはTaskmgr.exeです。表示+列を選択し、「ユーザーオブジェクト」、「ハンドル数」を確認します。および「GDIオブジェクト」。
一般的な診断は、ハンドルをリークし、10,000個を消費していることです。 .NET 2.0 SP1および.NET 3.5のGraphics.CopyFromScreen()のハンドルリークのバグに注意してください。3.5SP1で修正されました。
他のヒント
作成しているフォームがWndProc()をオーバーライドする場合、ウィンドウ作成プロセス中に常にbase.WndProc()を呼び出すように注意してください。
オーバーライドでbase.WndProc()の呼び出しを誤って省略し、スタックトレースを取得しました。
これが役立つかもしれません:
未処理の例外Win32Exception、ウィンドウハンドルの作成エラー
鉱山機械デバッガーの場所:
"c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\GuiDebug\DbgCLR.exe"