将HRESULT转换为可读消息

时间:2010-05-26 15:10:49

标签: c# excel com vsto

任何人都可以提供一些有关如何以编程方式将HRESULT(http://en.wikipedia.org/wiki/HRESULT)值转换为人类可读消息的信息吗?

我知道实用程序ERR.EXE执行此操作,但我的应用程序需要向我的用户显示一些有意义的消息,而不是一个神秘的0x800A03EC。

2 个答案:

答案 0 :(得分:3)

您是否尝试过FormatMessage功能?您可以使用PInvoke机制从C#中使用它。

答案 1 :(得分:3)

没有内置支持从具有该值的HRESULT生成消息。 COM组件需要使用IErrorInfo接口来实现它。

.NET内置的CLR互操作支持已经自动完成,您永远不需要帮助。当它看到COM接口方法返回失败代码时,它会自动抛出一个适当的异常。 Message属性从IErrorInfo初始化。如果你没有得到任何体面的信息,那么COM服务器就不会提供它。

这可能是0x800a03ec,它是一个带有许多错误原因的抓包低级Excel错误。你可以通过谷歌搜索“excel error 1004”找到大量的点击。

相关问题