Programm öffnen
-
Hi, ich möchte aus meinem Formular heraus, per druck auf einen Button ein anderes Programm öffnen.
Wie kann ich das machen?
Ich habs mit dem, mir aus C++ bekannten WinExec probiert, aber das geht wohl unter C# nicht mehr.Weiß jemand, wie das geht?
Danke
Teddy
-
ich glaube zumindest, mit der Process class
http://www.csharp-station.com/HowTo/ProcessStart.aspx
http://www.syncfusion.com/FAQ/WinForms/FAQ_c40c.asp
-
hmm...mit nem Simplen einzeiler, der einen DOS-Befehl interpretiert kann man das nicht lösen?
-
Versuch es mal mit Process.Start(), was du dann eingeben musst beschreibt IntelliSense.
Code-Hacker
-
Ich habs...
Danke,danke,danke,danke,danke.....
-
Das ganze schaut bei mir jetzt so aus:
Process.Start ("C:\\Programme\\Microsoft Office\\Office\\msaccess.exe","c:\\Dokume~1\\Teddy\\Eigene~1\\db2.mdb /cmd \"0027-01-04\" /x Vertraege");
jetzt möchte ich aber den Wert hinter /cmd durch eine Variable ersetzen, wie geh ich da am besten vor?
Teddy
-
das ist doch ein einfacher string.
private string param = "blabla";
private string cmd = "c:\\Dokume1\\Teddy\\Eigene1\\db2.mdb /cmd " + param;
-
habs schon, danke
try { Process.Start ("msaccess.exe","db2.mdb /cmd \""+ txtContract.Text +"\" /x Vertraege"); } catch { MessageBox.Show("Microsoft Access konnte nicht geöffnet werden. Überprüfen Sie, ob Access installiert ist.","Access nicht gefunden"); }
-
Nebenbei hier noch etwas. Es wird die weiterverarbeitung so lange gestoppt bis der Prozess fertig ist:
Process.Start("TEST.BAT").WaitForExit();
und das hier intitialisiert eine Prozess-Start-Information, legt die Argumente fest, die art wie sich das fenster zeigen soll (hidden = versteckt) und startet dann den Prozess:
ProcessStartInfo userInfo = new ProcessStartInfo("CMD.EXE"); userInfo.Arguments = @"TEST.BAT"; userInfo.WindowStyle = ProcessWindowStyle.Hidden; Process.Start(userInfo).WaitForExit();
Durch diese Art kann man sehr viele Einstellungen für den Prozess-Start machen.
Code-Hacker