【发布时间】:2012-08-08 22:30:50
【问题描述】:
我偶尔会收到“错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。”循环 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 Net Framework 3.0 进行编译。
除了重新启动计算机之外,还有什么解决此错误的建议吗?
【问题讨论】:
-
这发生在计算机完全唤醒之后。
-
我删除了我的答案。我对这方面了解不多。我认为链接weblogs.asp.net/joberg/articles/405283.aspx 可能会有所帮助,因为它猜测它的 COM 组件处于某种中间状态并且调用它失败。很抱歉给您带来麻烦。
标签: c# .net internet-explorer hresult shdocvw