How to run a dos command from your C# code without showing a console window? Here is some code I copy from http://www.neeao.com/blog/article-3341.html
I have used it in my project, it works.
/**/
/// <summary>
/// A method used to run a dos command hiddenly.
/// </summary>
/// <param name="dosCommand"></param>
/// <param name="outtime"></param>
/// <returns></returns>
public static string Execute( string dosCommand, int outtime)
{
string output = "";
if (dosCommand != null && dosCommand != "")
{
Process process = new Process();//create process object
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = "cmd.exe";//
//bellow is the setting to hidden the console window
startinfo.Arguments = "/c" + dosCommand;
startinfo.UseShellExecute = false;
startinfo.RedirectStandardInput = false;
startinfo.RedirectStandardOutput = true;
startinfo.CreateNoWindow = true;
process.StartInfo = startinfo;
try
{
if (process.Start())
{
if (outtime == 0)
{ process.WaitForExit(); }
else
{ process.WaitForExit(outtime); }
output = process.StandardOutput.ReadToEnd();
}
}
catch (SqlException e)
{
throw e;
}
catch (Exception e)
{
throw e;
}
finally
{
if (process != null)
{ process.Close(); }
}
}
return output;
}
/// A method used to run a dos command hiddenly.
/// </summary>
/// <param name="dosCommand"></param>
/// <param name="outtime"></param>
/// <returns></returns>
public static string Execute( string dosCommand, int outtime)
{
string output = "";
if (dosCommand != null && dosCommand != "")
{
Process process = new Process();//create process object
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = "cmd.exe";//
//bellow is the setting to hidden the console window
startinfo.Arguments = "/c" + dosCommand;
startinfo.UseShellExecute = false;
startinfo.RedirectStandardInput = false;
startinfo.RedirectStandardOutput = true;
startinfo.CreateNoWindow = true;
process.StartInfo = startinfo;
try
{
if (process.Start())
{
if (outtime == 0)
{ process.WaitForExit(); }
else
{ process.WaitForExit(outtime); }
output = process.StandardOutput.ReadToEnd();
}
}
catch (SqlException e)
{
throw e;
}
catch (Exception e)
{
throw e;
}
finally
{
if (process != null)
{ process.Close(); }
}
}
return output;
}