VB6 如何创建一个标准控制台程序?

打开 VB6 并新建一个标准EXE程序,把窗口删掉,然后再加入一个模块。

在模块中加入AllocConsole、FreeConsole、SetConsoleTitle、Sleep的API声明:

Public Declare Function AllocConsole Lib "kernel32.dll" () As Long

Public Declare Function FreeConsole Lib "kernel32.dll" () As Long

Public Declare Function SetConsoleTitle Lib "kernel32.dll" Alias "SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long

Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

下面来说一下这些API:

AllocConsole:

当然是创建一个控制台窗口啦,没有参数,很简单的一个API,哈哈

FreeConsole:

这个是用来销毁刚创建的控制台窗口,当然也没有参数

SetConsoleTitle:

这个也很简单,就是设置控制台窗口标题,参数一就是标题哈

Sleep:

这个没什么用处,就是让程序休息一下。在本例中是用来暂停一下,看看创建控制台的效果

那么,很简单吧,在Sub main里面输入以下代码:

Sub Main()

Call AllocConsole

Call SetConsoleTitle("My Console")

Call Sleep(2000)

Call FreeConsole

End Sub

不难看懂吧,这个程序很简单:首先创建控制台窗口,然后把窗口标题改成 My Console,接着休息2秒,最后就结束了哈。

在本例中,调用 API 函数使用了 Call 语句,其实像平常一样直接用也可以,不过会要求用一个变量来储存返回值。如果调用 API 并不需要处理返回值,可以用 Call 语句,节省点空间。

好了,这是一个很简单的例子,当然难的还在后面,往后的教程会循序渐进,深入探究 VB6 的控制台编程。尽管如此,我还是推荐大家用 VC++ 来编写哈。

那么,最后说说用 VB6 编写控制台程序的注意事项:

1、一定要确保 API 声明无误,不然控制台很容易挂掉

2、控制台的 API 很容易挂掉,因此如果要发布控制台成品,一定要记得增加返回值判断和容错部分

3、测试不要直接在 VB6 程序中测试,应生成EXE后再在文件夹里打开测试(这点很重要,严格遵守)

4、应有良好的习惯:把常用的 API、常数等全部写在一个模块里,其他工程只要加入这个模块就行了