2010-06-04 4 views
8

Ich versuche programmatisch eine Anwendung zu starten, aber es läuft immer im Ordner meiner Anwendung ... Zum Beispiel:Wie ein Prozess im selben Ordner wie die ausführbaren Datei starten

Wenn mein app befindet sich in C: \ MyApp \ myapp.exe und die andere App befindet sich in C: \ OtherApp \ otherapp.exe. Wie kann ich die andere App in dem Ordner starten, in dem sie sich befindet, und nicht in dem Ordner, in dem sich meine App befindet?

Hier ist, wie ich die anderen App zu starten:

private void StartApp(OtherApp application) 
{ 
    Process process = new Process(); 
    process.StartInfo.FileName = application.FileName; 
    process.StartInfo.Arguments = application.AppName; 
    process.Start(); 
} 
+2

-1 couse Scrollen durch die IntelliSense-Methodenliste anstatt auf SO zu veröffentlichen wäre schneller und produktiver gewesen (Witze über die -1). – vaitrafra

+0

@vaitrafra, ich bin süchtig nach SO !!! – Kiril

+0

@vaitrafra, erinnere dich, dass in SO, nur weil die Lösung offensichtlich war, es nicht bedeutet, dass die Frage nicht gestellt werden sollte ... jeder auf der Suche nach diesen Informationen auf Google wird unweigerlich auf eine SO-Antwort stolpern. Nichts als gutes Karma von der Beantwortung der einfachsten Frage. – Kiril

Antwort

6

einfach die Workdirectory-Eigenschaft festgelegt.

process.StartInfo.WorkingDirectory = Path.GetDirectoryName(application.Filename); 
5

Verwenden Sie process.StartInfo.WorkingDirectory = pathToTheFolder;.