根据Microsoft,"如果[系统]无法找到DLL,系统将终止该进程并显示一个报告错误的对话框。 "这是我在命令行之外运行应用程序时得到的结果,但是当我从shell环境(如命令提示符或PowerShell)运行应用程序时,我没有遇到相同的系统错误。
当从命令行界面运行应用程序时,有没有办法显示相同的错误消息?
https://msdn.microsoft.com/en-us/library/aa271571(v=vs.60).aspx
答案 0 :(得分:0)
投入30分钟的时间,你可以写一个像这样的小型C ++控制台程序:
CreateProcess()
以启动实际的EXE。CreateProcess
返回FALSE
,请致电GetLastError()
以获取错误代码。 FormatMessage()
至turn the error code into the system error message。答案 1 :(得分:0)
SetErrorMode(GetErrorMode() & ~SEM_FAILCRITICALERRORS);
但我认为您不想这样做,因为您不知道用户将在哪种环境中运行您的应用程序。 现在弹出一个对话框通常是一个好主意,例如一个服务环境。 检查任何失败的错误代码有什么问题,例如LoadLibrary() 并对这个错误做出反应?