delphi Shellexecute返回值错误消息

gzjq41n4  于 2023-04-11  发布在  Shell
关注(0)|答案(1)|浏览(229)

当我调用ShellExecute时,我得到的返回值是一个整数。我在哪里可以得到相关的错误消息?我知道它们是通用的,但我在MS文档中看到过消息。

uujelgoq

uujelgoq1#

ShellExecute的错误处理是一场灾难。Raymond Chen在这里讨论它:Why does ShellExecute return SE_ERR_ACCESSDENIED for nearly everything?因此,即使您可以将少量可能的ShellExecute错误转换为文本,您也会发现您总是得到Access denied
底线是,如果你想要真实的的错误报告,那么你需要使用ShellExecuteEx。如果失败,你调用GetLastError来获取Win32错误。要将其转换为带有描述性文本的异常,请调用RaiseLastOSError。如果你只是想要与错误关联的描述性文本,请调用SysErrorMessage

相关问题