我有一个VB6应用程序,我需要退出应用程序并设置退出代码。
感谢
答案 0 :(得分:0)
你不能真的。至少不安全。见PRB: Call to ExitProcess() from Visual Basic Application Hinders Process Exit
已知对ExitProcess()的调用导致问题的一个特定实例涉及COM对象。如果Visual Basic应用程序在调用ExitProcess()时具有对进程外COM对象的未完成引用,则调用进程可能会“挂起”或导致访问冲突。在调用ExitProcess()之前立即直接调用CoUninitialize()通常可以防止出现此问题。虽然此方法允许您解决此问题,但Microsoft不建议或不支持它。
从Visual Basic应用程序调用ExitProcess()所产生的唯一优势是能够为进程设置退出代码。但是由于从Visual Basic调用ExitProcess()的不可预测性,最好通过其他方式传递进程的成功或失败,例如将退出代码写入文件或将窗口消息发送到另一个进程。
答案 1 :(得分:0)
最简单的方法是发明一种与调用进程或命令行通信的不同方式。
但你可以使用来自VB6的Karl Peterson的method of creating a console app吗?然后使用Con.ExitCode = 1
(如第二个示例所示)。
他正在发布免费加载项vbAdvance,可帮助您构建控制台应用。
免责声明:改编自我对此similar question
的回答