我想控制 Delphi 控制台窗口在启动时何时可见。目前我使用以下代码作为我隐藏控制台的第一件事,做其他事情,然后让它再次可见
showWindow(GetConsoleWindow, SW_HIDE);
... do other stuff
showWindow(GetConsoleWindow, SW_NORMAL);
Run Code Online (Sandbox Code Playgroud)
但是,在被 SW_HIDE 隐藏之前,仍然可以看到初始控制台窗口的闪烁。在 Windows 甚至尝试在启动时使其可见之前,是否有另一种方法可以隐藏控制台窗口?
为了提供更多背景信息,我所追求的用户体验是控制台屏幕出现在屏幕中央。我知道如何将控制台窗口居中,但在窗口居中之前,我仍然在启动时看到闪烁。我想控制控制台何时可见,以便对用户而言,控制台窗口在启动时不会出现任何窗口幽灵。
控制台应用程序无法控制控制台窗口的初始状态。该窗口可能在应用程序运行之前就已经存在,或者操作系统可能必须为应用程序创建一个新窗口。
对于您正在寻找的内容,最好{$APPTYPE CONSOLE}完全删除,以便您的应用程序不再是控制台应用程序,然后AllocConsole()在您准备好时用于创建新的控制台窗口。