代码之家  ›  专栏  ›  技术社区  ›  Aleksandar Bob

如何使打印输出到命令提示的vb6控制台应用程序

  •  1
  • Aleksandar Bob  · 技术社区  · 6 年前

    我想创建命令行vb6应用程序,该应用程序将其结果打印到命令提示符(类似于 普林特 在C)中。然而,所有找到的解决方案都不适合我。

    我有VB6 SP6,Windows 7 x64。

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

    Public SIn As Scripting.TextStream
    

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

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

    我更喜欢API解决方案(独立于系统)。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Aleksandar Bob    6 年前

    最好的解决方案是Karl E.Peterson的代码 http://vb.mvps.org/samples/Console/ 它具有完整的源代码,交互式调试,几个例子和许多其他的伟大功能。不需要编写脚本。

    但是,如果您生成一个exe文件(并且确定您会!)它是 完全有必要修复 生成的exe(解释和手册在同一个peterson的页面上),即在exe头中设置pe位。
    否则,如果在exe中有任何输入等待,则exe将进入一个无限循环,并且永远不会返回(但在命令提示符中,它看起来像完成了,因为显示了提示)。如果您尝试多次启动exe,可以看到这些永不结束的进程在任务管理器/进程中填充。

        2
  •  0
  •   wqw    6 年前

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

    [VBCompiler]
    LinkSwitches=/SUBSYSTEM:CONSOLE
    

    . …喜欢 here .

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

    对于控制台I/O,只需使用相应的API函数,如 here . 你也可以用彩色打印到控制台上 here .

    推荐文章