Benutzer mit den meisten Antworten
Fremde Programme/Prozesse öffnen?

Frage
-
Hallo,
ich möchte gern, das mein Programm, wenn ich auf ein Buttoon klicke, einen bestimmten Prozess öffnet. Das habe ich hier bereits erfolgslos versucht:
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) { ShellExecuteA(0, "open", "H:\Programme\meinprogramm\meinprogramm.exe", "", "", SW_SHOW); }
Jetzt meine Frage: Wie mache ich das richtig?
Und noch eine Frage: Wie mache ich das, wenn ich den Pfad nicht kenne?
MfG
Antworten
-
1. Wenn die EXE vom Installer im Windows installiert wurde oder im PATH liegt, dann musst Du den Pfad nicht angeben.
2. Wenn Die EXE irgendwo liegt, musst Du Dir den Pfad besorgen. ALso suchen, oder Dir durch einen Auswahldialog in Deiner Anwendung merken. (Sprich den Benutzer suchen lassen).
3. Ein Backslash muss in einem konstanten String escaped werden. Also musst Du "H:\\Programme\\meinprogramm\\meinprogramm.exe" schreiben.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Martin Richter Freitag, 14. August 2009 06:31
- Als Antwort markiert Robert Breitenhofer Montag, 14. September 2009 20:04
Alle Antworten
-
1. Wenn die EXE vom Installer im Windows installiert wurde oder im PATH liegt, dann musst Du den Pfad nicht angeben.
2. Wenn Die EXE irgendwo liegt, musst Du Dir den Pfad besorgen. ALso suchen, oder Dir durch einen Auswahldialog in Deiner Anwendung merken. (Sprich den Benutzer suchen lassen).
3. Ein Backslash muss in einem konstanten String escaped werden. Also musst Du "H:\\Programme\\meinprogramm\\meinprogramm.exe" schreiben.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Martin Richter Freitag, 14. August 2009 06:31
- Als Antwort markiert Robert Breitenhofer Montag, 14. September 2009 20:04
-
Okay, das funktioniert. Nur noch zur letzzten Frage: Könnte man da auch Systemvariablen benutzen? Etwa so:
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) { ShellExecuteA(0, "open", "%ProgramFiles%meinprogramm%meinprogramm.exe", "", "", SW_SHOW); }
-