Command Execute

  • Thread starter Thread starter George Varelas
  • Start date Start date
G

George Varelas

Hi,
can anyone tell me how can I execute an external command such as dos command
through my windows application which is built in C#.

VB has the "Shell(...)" function but I couldn't find something like this in
C#.

Thanks
George
 
Hi George,

You can use Process.Start() method:


using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
/// <summary>
/// Shell for the sample.
/// </summary>
class MyProcess
{

/// <summary>
/// Opens the Internet Explorer application.
/// </summary>
void OpenApplication(string myFavoritesPath)
{
// Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe");

// Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath);

}

/// <summary>
/// Opens urls and .html documents using Internet Explorer.
/// </summary>
void OpenWithArguments()
{
// url's are not considered documents. They can only be opened
// by passing them as arguments.
Process.Start("IExplore.exe", "www.northwindtraders.com");

// Start a Web page using a browser associated with .html and .asp files.
Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
}

/// <summary>
/// Uses the ProcessStartInfo class to start new processes, both in a
minimized
/// mode.
/// </summary>
void OpenWithStartInfo()
{

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;

Process.Start(startInfo);

startInfo.Arguments = "www.northwindtraders.com";

Process.Start(startInfo);

}

static void Main()
{
// Get the path that stores favorite links.
string myFavoritesPath =
Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

MyProcess myProcess = new MyProcess();

myProcess.OpenApplication(myFavoritesPath);
myProcess.OpenWithArguments();
myProcess.OpenWithStartInfo();

}
}
}

Regards,
Valentin Ivanov.
 
You posted this in a bunch of different dotnet newsgroups. Just FYI,
when you do that, you can put all the newsgroup names in at once, and
cross-post it, rather than multi-post it. Then if someone in one group
answers it, the answer shows up in all the groups, so people know it's
been answered and they can spend their time helping someone else.

Thanks,
Robin S.
 
Very usefull info... thanks RobinS.

This feature is available when you click the "Advanced options" link at the
bottom of the reply window. Probably available in a similar way when posting
a new message.

David
 
Not sure what AdvancedOptions link you're talking about. It's probably
depending
on the software you're using to access the newsgroups. I use OE. Feel
free to
share any information that would be helpful.

Robin S.
---------------------------------
 
Back
Top