VB6 让程序结束后带有返回值

第三方命令行程序运行完之后,批处理中可以随时通过errorlevel变量收取运行结果。而VB写的控制台程序却没有提供这样的功能。关于让控制台程序返回值的教程是本博客独家放出。

返回值,其实也就是进程的结束码。由于VB限定了我们必须以Sub的方式来运行主程序,我们就只能强行中断进程并返回结束码。

这里需要三个API函数:

GetCurrentProcessId:获取当前进程ID

OpenProcess:获取进程句柄及信息

TerminateProcess:终止进程,并指定返回值

这个是封装好的过程,调用这个过程就可以实现返回值:

Public Sub EndWithReturn(ByVal ExitCode As Long)

TerminateProcess OpenProcess(1, False, GetCurrentProcessId), ExitCode

End Sub

在主过程中结束的时候,调用EndWithReturn就可以实现返回值:

Sub Main()

EndWithReturn 123

End Sub

编译后,在批处理中测试:

@echo off

程序名.exe

echo %errorlevel%

pause