如何在C#中隐藏控制台应用程序

men*_*heb 27 c# console-application hide

我在C#中有一个控制台应用程序,我想用户将无法看到它.

我怎样才能做到这一点?

dri*_*iis 53

将其编译为Windows窗体应用程序.如果您没有显式打开任何Windows,它将不会显示任何UI.

  • @Nayan,不需要任何设计变更.没有人说你应该实现任何接口,也不要引用任何程序集.它只是切换编译模式,它实际上只是在程序集中设置一个标志为"我是一个控制台程序"vs"我是一个Windows程序".实际上,您可以编译为Windows程序,而无需引用除mscorlib之外的任何内容. (3认同)
  • @driis,如果我可以将你的答案投票100次.摇摇晃晃的男人!! (2认同)

Nic*_*o.S 16

在ProjectProperties上将输出类型设置为Windows应用程序.


peS*_*HIr 5

听起来你不想要一个控制台应用程序,而是一个不打开(可见)窗口的Windows GUI应用程序.


Aka*_*ava 5

使用以下代码创建一个控制台应用程序“MyAppProxy”,并将 MyAppProxy 放在启动目录中,

public static void main(string[] args)
{
   Process p = new Process("MyApp");
   ProcessStartUpInfo pinfo = new ProcessStartUpInfo();
   p.StartupInfo = pinfo;
   pinfo.CreateNoWindow = true;
   pinfo.ShellExecute = false;

   p.RaiseEvents = true;

   AutoResetEvent wait = new AutoResetEvent(false);
   p.ProcessExit += (s,e)=>{ wait.Set(); };

   p.Start();
   wait.WaitOne();
}
Run Code Online (Sandbox Code Playgroud)

您可能需要在这里修复某些项目,因为我没有检查代码的正确性,它可能无法编译,因为某些属性名称可能不同,但希望您能理解。