【问题标题】:Is it possible to allow a legacy Win32 GUI app to be run from command line as well?是否也可以允许从命令行运行旧版 Win32 GUI 应用程序?
【发布时间】:2010-06-09 16:00:48
【问题描述】:

我们有一些有效的代码,它是一个带有 GUI 的 Win32 应用程序,但我也希望能够从命令行触发它(静默模式)。有什么简单的方法可以做到这一点吗?还是我必须创建另一个项目作为命令行应用程序?

【问题讨论】:

    标签: user-interface winapi cmd


    【解决方案1】:

    如果您希望应用程序完全不可见,即根本没有窗口,您只需跳过创建主窗口的应用程序部分。一个普通的命令行应用程序会创建一个控制台窗口,当应用程序打开和关闭时,它会在屏幕上闪烁。

    【讨论】:

      【解决方案2】:

      c:> notepad.exe

      这回答了你的问题?

      【讨论】:

      • 我认为您误解了这个问题。我不想只从命令行打开 GUI 应用程序。我希望能够在没有 GUI 的情况下以“静默模式”运行程序。
      【解决方案3】:

      您可以编写一个小型应用程序,该应用程序可以根据CreateProcess Windows API 启动旧的 GUI 应用程序。 CreateProcess 具有 lpStartupInfo 类型的参数 STARTUPINFOSTARTUPINFOEX。如果将此STARTUPINFOSTARTUPINFOEXwShowWindow字段初始化为SW_HIDE,则将隐藏将要启动的应用程序的主窗口。您还必须设置 dwFlags of STARTUPINFOSTARTUPINFOEX 其中包括 STARTF_USESHOWWINDOW 位掩码。

      这种以隐藏模式启动另一个程序的小程序也可以用于启动控制台应用程序,而无需打开众所周知的控制台窗口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多