当我调用 ShellExecute 时,我得到了返回值 - 一个整数。我在哪里可以获得相关的错误消息?我知道它们很笼统,但我在 MS 文档中看到了消息。
问问题
5629 次
1 回答
8
错误处理ShellExecute
是一场灾难。Raymond Chen 在这里讨论它:为什么 ShellExecute 几乎对所有东西都返回 SE_ERR_ACCESSDENIED?因此,即使您可以将少数可能的ShellExecute
错误转换为文本,您也会发现您总是得到Access denied
. 这不是很有帮助。
底线是,如果您想要真正的错误报告,那么您需要使用ShellExecuteEx
. 如果失败,则调用GetLastError
以获取 Win32 错误。要将其转换为带有描述性文本的异常,请调用RaiseLastOSError
. 如果您只想要与错误关联的描述性文本,请调用SysErrorMessage
.
于 2013-02-23T15:32:49.867 回答