gpt4 book ai didi

c# - 如何隐藏控制台窗口?

转载 作者:可可西里 更新时间:2023-11-01 03:03:58 25 4
gpt4 key购买 nike

问题:我有一个不应该被看到的控制台程序。(它重置 IIS 并删除临时文件。)

现在我可以像这样在启动后立即隐藏窗口:

static void Main(string[] args)
{
var currentProcess = System.Diagnostics.Process.GetCurrentProcess();
Console.WriteLine(currentProcess.MainWindowTitle);

IntPtr hWnd = currentProcess.MainWindowHandle;//FindWindow(null, "Your console windows caption"); //put your console window caption here
if (hWnd != IntPtr.Zero)
{
//Hide the window
ShowWindow(hWnd, 0); // 0 = SW_HIDE
}

问题是这会显示一秒钟的窗口。是否有控制台程序的任何构造函数,我可以在其中隐藏窗口,然后再显示?

第二个:

我用

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

而且我不喜欢里面的 32。没有 DllImport 有没有办法做到这一点?
.NET 方式?

最佳答案

如果您不需要控制台(例如 Console.WriteLine),则将应用程序构建选项更改为 Windows 应用程序。

这会更改 .exe header 中的标志,因此 Windows 不会在应用程序启动时分配控制台 session 。

关于c# - 如何隐藏控制台窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3563744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com