私のアプリケーションでは、同じプロセスのウィンドウのテキストを読んでいます。User32.dllのGetWindowTextを使用しています。しかし、メソッドを呼び出そうとすると、「タイプ'System.ExecutionEngineException'の未処理の例外がaaaa.exeで発生しました」という例外が発生します。正確なエラーはどこで確認できますか。そして、なぜ私はこの例外を受け取っているのですか。
私のコードは以下の通りです。
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern int GetWindowText(IntPtr hWnd,
[Out] StringBuilder lpString, int nMaxCount);
EnumDelegate enumfunc = new EnumDelegate(EnumWindowsProc);
private bool EnumWindowsProc(IntPtr win, int lParam)
{
StringBuilder sb = new StringBuilder();
GetWindowText(win, sb, 100);
if (sb.Length > 0)
{
// do something
}
}