如何显示/隐藏控制台窗口应用程序?

时间:2017-03-13 15:13:04

标签: delphi console console-application delphi-xe7

我有一个小型控制台应用程序。我想从我的主程序调用它时隐藏它的窗口(使用-hide作为命令行参数)并在用户启动它时显示它(没有命令行参数)。

This question建议使用{$ APPTYPE GUI}代替{$ APPTYPE CONSOLE}将隐藏窗口。确实有效。但是如何在用户运行时使窗口可见?

目的:我希望我的主程序在后台静默地与控制台应用程序交互(控制台是不可见的)。因此,当用户单独启动控制台应用程序时,我只想给他一个警告:'此控制台应用程序正在执行x任务。你不能手动启动它#39;。

1 个答案:

答案 0 :(得分:1)

  1. 保留程序,作为控制台应用程序。不要将它变成GUI应用程序,因为这意味着当用户直接启动它时,它将不会被赋予控制台。
  2. 当您从主应用程序启动程序时,请使用CreateProcess执行此操作,并传递CREATE_NO_WINDOW标记。该标志确保不会创建控制台窗口。