【发布时间】:2017-06-21 11:40:53
【问题描述】:
我有一个控制台应用程序,我想在运行该应用程序时最小化(而不是永久隐藏)控制台,这可能吗? 另外,我使用计时器每 10 分钟运行一次任务,是否可以在每次应用程序运行时最小化控制台? 谢谢!
【问题讨论】:
-
我不想把它放在系统托盘上。我只是希望它最小化
标签: c# .net console-application
我有一个控制台应用程序,我想在运行该应用程序时最小化(而不是永久隐藏)控制台,这可能吗? 另外,我使用计时器每 10 分钟运行一次任务,是否可以在每次应用程序运行时最小化控制台? 谢谢!
【问题讨论】:
标签: c# .net console-application
下面的代码应该可以解决问题。使用 Win32 方法最小化控制台窗口。我正在使用 Console.ReadLine() 来防止窗口立即关闭。
internal class Program
{
[DllImport("User32.dll", CallingConvention = CallingConvention.StdCall, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool ShowWindow([In] IntPtr hWnd, [In] int nCmdShow);
private static void Main(string[] args)
{
IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
ShowWindow(handle, 6);
Console.ReadLine();
}
}
【讨论】: