2

我有一个 VB6 应用程序,我需要退出应用程序并设置 ExitCode。

谢谢

4

2 回答 2

1

发明一种与调用进程或命令行通信的不同方式可能是最简单的。

但是您可以使用 Karl Peterson从 VB6创建控制台应用程序的方法吗?然后使用Con.ExitCode = 1(如第二个示例所示)。

他正在分发一个免费的插件vbAdvance,它可以帮助您构建控制台应用程序。

免责声明:改编自我对这个类似问题的回答

于 2013-07-02T07:42:03.083 回答
1

你真的不能。至少不安全。请参阅PRB:从 Visual Basic 应用程序调用 ExitProcess() 阻碍进程退出

已知调用 ExitProcess() 会导致问题的一个特定实例涉及 COM 对象。如果 Visual Basic 应用程序在调用 ExitProcess() 时对进程外 COM 对象具有未完成的引用,则调用进程可能会“挂起”或导致访问冲突。在调用 ExitProcess() 之前直接调用 CoUninitialize() 通常可以避免这个问题。尽管此方法允许您解决此问题,但 Microsoft 不推荐或不支持它。

从 Visual Basic 应用程序调用 ExitProcess() 的唯一优点是能够为进程设置退出代码。但是由于从 Visual Basic 调用 ExitProcess() 的不可预知性,最好通过一些其他方式来传达进程的成功或失败,例如将退出代码写入文件或将 windows 消息发送到另一个进程。

于 2013-07-01T20:32:56.950 回答