从命令行运行可执行文件时如何启用系统错误消息
Posted
技术标签:
【中文标题】从命令行运行可执行文件时如何启用系统错误消息【英文标题】:How to enable System Error message when running executable from command line 【发布时间】:2018-01-02 22:26:17 【问题描述】:根据微软的说法,“如果 [系统] 找不到 DLL,系统将终止进程并显示一个报告错误的对话框。”这是我在命令行之外运行我的应用程序时得到的结果,但是当我从 shell 环境(例如命令提示符或 powershell)运行应用程序时,我没有收到相同的系统错误。
当应用程序从命令行界面运行时,有没有办法显示相同的错误消息?
https://msdn.microsoft.com/en-us/library/aa271571(v=vs.60).aspx
【问题讨论】:
对于缺少依赖项的命令行程序显示系统对话框。您对参数的引用令人困惑/不清楚。 缺少参数不是系统错误。这是程序逻辑中的决定。 【参考方案1】:SetErrorMode(GetErrorMode() & ~SEM_FAILCRITICALERRORS);
但我认为您不想这样做,因为您不知道用户将在哪个环境中运行您的应用程序。 现在通常在例如弹出一个对话框是一个好主意。一个服务环境。 检查失败的错误代码有什么问题,例如LoadLibrary() 并对这个错误做出反应?
【讨论】:
以上是关于从命令行运行可执行文件时如何启用系统错误消息的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NSFileManager 复制 UNIX 可执行文件?