问题是,我真的不希望控制台窗口出现......但解决方案应该正在运行。 我的观点是,我希望让应用程序在后台运行,不会出现任何窗口。
答案 0 :(得分:171)
将输出类型从控制台应用程序更改为 Windows应用程序。这可以在 Project - >下完成。属性 - > Visual Studio中的应用程序:
答案 1 :(得分:22)
将您的应用程序类型更改为Windows应用程序。您的代码仍将运行,但除非您创建一个,否则它将没有控制台窗口,也没有标准窗口窗口。
答案 2 :(得分:9)
最后可以使用Console.Readline/key
代替new ManualResetEvent(false).WaitOne()
。这对我很有用。
答案 3 :(得分:3)
也许您想尝试creating a Windows Service application。它将在后台运行,没有任何UI。
答案 4 :(得分:1)
无需vscode即可使用user32.dll实现这一点
class start
{
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
static void Main()
{
IntPtr h = Process.GetCurrentProcess().MainWindowHandle;
ShowWindow(h, 0);
// Do the rest
这仍然会闪烁屏幕,但效果很好
用途是
using System.Runtime.InteropServices;
using System.Diagnostics;
注意我对 csharp 还是个新手,并不完美,所以请随时发表评论和更正!
答案 5 :(得分:-1)
将输出类型从 控制台应用程序 更改为 Windows应用程序 ,
您可以在末尾使用Console.Readline/key
来代替new ManualResetEvent(false).WaitOne()
,以保持应用程序的运行。