如何使VB6控制台应用程序将输出打印到命令提示符

时间:2019-01-14 12:25:21

标签: vb6 command-prompt basic windows-console

我想制作一个命令行VB6应用程序,将其结果打印到命令提示符下(类似于C中的 printf )。但是,没有找到的解决方案对我不起作用。

我有VB6 SP6,Windows 7 x64。

我尝试过 How to write to a debug console in VB6? 来适应这一点,但是在这一行

Public SIn As Scripting.TextStream

编译器返回错误:未定义用户定义的类型

为什么这不起作用?有办法吗?

我更喜欢API解决方案(与系统无关)。

2 个答案:

答案 0 :(得分:1)

最好的解决方案是位于http://vb.mvps.org/samples/Console/的Karl E. Peterson的代码,该代码具有完整的源代码,交互式调试,一些示例以及许多其他强大的功能。无需脚本。

但是,如果您制作EXE文件(并确定会这样做!),则绝对有必要 修复 生成的EXE(说明和手册位于同一Peterson页面上),即在EXE标头中设置PE位。
否则,如果EXE中有任何输入等待,则EXE将进入无限循环,并且永远不会返回(但在命令提示符下,它看起来像完成了,因为显示了提示)。如果尝试多次启动EXE,则可以在任务管理器/进程中看到这些永无止境的进程。)

答案 1 :(得分:0)

您可以手动编辑Std-EXE项目的.vbp文件,以将这两行添加到文件末尾

[VBCompiler]
LinkSwitches=/SUBSYSTEM:CONSOLE

。 。 。像here

这允许直接从IDE编译控制台应用程序,而无需使用editbin来更改PE标头后编译中的子系统。

对于控制台I / O,只需使用相应的API函数,例如here。您也可以像here一样用彩色打印到控制台。