「COMコンポーネントの呼び出しからエラーHRESULTE_FAILが返されました」というメッセージが表示されることがあります。ShellWindowsクラスをループするとエラーが発生します。ほとんどの場合、コンピューターがスリープから復帰した後に発生するようです。このエラーをクリアするには、コンピュータを再起動する必要がありますが、これは良くありません。
エラーは、次のコードの「foreach」ループ行で発生します。
log.Debug(String.Format("new ShellWindowsClass"));
ShellWindows m_IEFoundBrowsers = new ShellWindowsClass();
log.Debug(String.Format("Loop begin"));
foreach (InternetExplorer Browser in m_IEFoundBrowsers)
{
log.Debug(String.Format("Browser {0} ?= {1}", Browser.HWND, pid));
if (Browser.HWND == pid)
{
found = Browser;
break;
}
}
log.Debug(String.Format("Loop end"));
Dot NetFramework3.0用にコンパイルしています。
コンピュータを再起動する以外に、このエラーに対処するための提案はありますか?