Entwickler-Ecke
IO, XML und Registry - Datei ausführen mit c sharp
validas - Mo 12.09.11 14:29
Titel: Datei ausführen mit c sharp
Hallo liebes Forum.
Ich habe nun schon Stunden damit verbracht, mit hilfe von Google zu suchen wie man eine datei in c sharp ausführt... naja... wohl eher erfolgslos, deshalb wende ich mich nun an euch.
ich starte zwar einen Prozess, aber beim Ausführen des Programms geschieht nichts... -.-
C#-Quelltext
1: 2: 3: 4: 5:
| Process MakeImage = new Process(); MakeImage.EnableRaisingEvents = false; MakeImage.StartInfo.FileName = @"C:\tempSWStacker\ImageMaker.pil"; MakeImage.Start(); |
was mach ich falsch? alles? synthax? überlegungsfehler? :D
oder geht das auch ganz anders?
Moderiert von
Christian S.: Topic aus WinForms verschoben am Mo 12.09.2011 um 17:04
mats74 - Mo 12.09.11 14:43
Hallo validas
Der Namespace System.Diagnostics enthält deine gewünschte Methode:
C#-Quelltext
1:
| System.Diagnostics.Process.Start("C:\\tempSWStacker\\ImageMaker.pil"); |
Die Escapesequenz "\\" in der Pfadangabe musst Du beachten.
Das Standartprogramm zum Ausführen der Datei muss dem Dateityp zugewiesen sein.
Dann sollte eigentlich das Programm mit der gewünschten Datei ausgeführt werden.
Gruss
mats74
validas - Mo 12.09.11 16:54
mats74 hat folgendes geschrieben : |
Das Standartprogramm zum Ausführen der Datei muss dem Dateityp zugewiesen sein.
|
Nun... leider funktioniert das ganze auch so nicht..
C#-Quelltext
1: 2:
| System.Diagnostics.Process.Start("C:\\tempSWStacker\\ImageMaker.pil"); |
Die .pil datei enthält nur ein paar wenige zeilen Zeichen. Diese Datei ist mit einem besonderen Programm aufrufbar..
Da mir kein Fehler an den Kopf geworfen wird, gehe ich davon aus, dass der Prozess zwar erstellt wird, aber Windows schlicht nicht weiss mit welchem Programm es das öffnen soll? kann das sein? wenn ja, wie gebe ich das "Interpreterprogramm" mit?
Christian S. - Mo 12.09.11 17:01
Hallo!
Bei vielen Programmen wird es funktionieren, die aufzurufende Datei als Parameter an das Programm zu übergeben:
C#-Quelltext
1:
| System.Diagnostics.Process.Start(@"c:\programme\DeinProgramm\deinProgramm.exe", @"C:\tempSWStacker\ImageMaker.pil"); |
Sollte das nicht gehen, musst Du mal in der Doku von dem Programm schauen, welche Kommandozeilen-Parameter es versteht.
mats74 hat folgendes geschrieben : |
Die Escapesequenz "\\" in der Pfadangabe musst Du beachten. |
Er hatte ein "@" vor dem String, da braucht er das nicht. Bei Pfadangaben die bessere Alternative, weil man sich einige Backslashes spart ;-)
Grüße,
Christian
C# - Mo 12.09.11 18:00
Kann es nicht sein dass dein PC den Dateityp einfach nicht kennt und nicht weis mit was er die Datei ausführen soll?
Also ich würde es einfach über den Windowsexplorer starten und die Datei als Parameter übergeben:
C#-Quelltext
1: 2:
| Process proc = new Process { StartInfo = { @"C:\Windows\explorer.exe", @"C:\tempSWStacker\ImageMaker.pil" } }; proc.Start(); |
validas - Di 13.09.11 06:58
Vielen Dank!
Mit christians Antwort hat es nun funktioniert!
Danke auch den Anderen!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!