Command Param for making console invisible

2019-04-14 12:51发布

问题:

I am firing up a cmd console from my .net app with some parameters, is there a parameter to specify that the cmd console is not visible?

---- Edit - Adding Code

I know this isn't the standard way of starting a process in .Net, but it is being run from a Silverlight Client.

  Dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
    cmd.Run("C:\Windows\System32\cmd.exe /c *myargs*")

回答1:

After some more digging, I have found out that this will work -

   Dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
    cmd.Run("C:\Windows\System32\cmd.exe /c *myargs*",0,true);


回答2:

If you never want the application to show a console window, one way is, after creating the console application, to change the application Output Type to "Windows Application" (project properties / Application tab / Output type).



回答3:

You could have a look at this solution:

Show/Hide the console window of a C# console application

or alternatively, make your project a GUI project but without any forms and use the classes in the System.Diagnostics namespace to execute your commands. Probably requires much refactoring though.