【问题标题】:How do I build a VB6 Console App如何构建 VB6 控制台应用程序
【发布时间】:2010-09-22 03:55:20
【问题描述】:

我做了一些谷歌搜索试图回答这个问题,但即使在那之后我也不太清楚。是否可以从 VB6 创建控制台应用程序?

我有一个没有窗口的 VB6 应用程序。我一直认为它是一个控制台应用程序。但是,我希望能够在其中使用 Windows API SetConsoleCtrlHandler 函数。我相信对于 C++/MFC 应用程序,您必须设置链接器开关才能创建控制台应用程序。我的一位开发人员告诉我,VB6 不能创建真正的控制台应用程序,因此这行不通。那么是否有可能创建一个 Windows 将识别为来自 VB6 的控制台应用程序的控制台应用程序?

平台:Windows XP SP2

开发平台:VB6

【问题讨论】:

    标签: winapi vb6 console


    【解决方案1】:

    是的。也可以创建完全无头的应用程序(我过去做过几次)。 This link 给出了一个带有代码 sn-p 的示例。

    【讨论】:

    • @NXC,谢谢——这正是医生所要求的。
    • 一个很好的链接,但如果不先调用 Windows API AllocConsole 再调用 FreeConsole,我就无法运行它(即使使用 Scripting.FileSystemObject 方法)。也许这只是某些版本的 Windows 的问题。详情见这里:internettrash.com/users/fdb/cons.htm.
    • @Gavin - 这很可能是较新版本的 Windows 的问题。 IIRC 上一次我写一个无头 VB6 应用程序大约是 10 年前,目标平台是 NT4!
    【解决方案2】:

    您可以在http://vb.mvps.org/samples/Console/ 使用 Karl E. Peterson 的代码 创建一个功能非常齐全的控制台应用程序。

    可以通过为控制台子系统重新链接已编译的 VB6 EXE 来制作更简单的文件。卡尔在同一个网页上对此进行了介绍。向下滚动查看 LinkConsole.vbs。

    【讨论】:

    • 是的,我认为这就是我当时的做法:你真的必须告诉 .exe 它是一个控制台应用程序 - 这必须在编译后步骤中完成(make 是你的朋友?)。
    • 自 3 月 31 日起,Karl Peterson 的代码也可用于包装在名为 vbAdvance 的免费插件中(具有许多其他强大功能)。 vb.mvps.org/tools/vbAdvance
    • 卡尔一如既往地做得很好。然而,对于制作大多数控制台程序来说,这是一大块猪油(开销)。你很少需要他提供的大部分东西。好消息是您有来源,因此您可以根据需要对其进行精简。
    【解决方案3】:

    看到这个article

    或者您可以将 VB6 应用程序重写为 VBScript 程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 2012-10-17
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      相关资源
      最近更新 更多