Exe aus Exe aufrufen.
-
Hallo allerseits,
ich weiß zwar nicht, ob ich mit meinem Problem hier richtig bin, aber ich versuchs einfach mal:
Ich möchte mit einer von mir programmierten EXE eine andere ausführbare Datei mit C++ aufrufen. Hab leider kein Befehl gefunden, mit dem ich das machen kann. Kann mir da mal jemand weiterhelfen??
Danke schonma!
Drea
-
schau dich mal in der msdn nach
shellexcecute
um.
-
Und warum nicht
system("meine.exe");
-
Nehmen wir mal an, ich starte ein Programm, welches selbst Ausgaben auf stdout macht.
system("ls");Wie komme ich an die Ausgaben dieses Programmes?
Oder ginge das nur so:#include <iostream> #include <string> using namespace std; system("ls > /tmp/ls_out"); ifstream in("/tmp/ls_out"); string text = in.read(); .. .. ..
-
hehejo schrieb:
Nehmen wir mal an, ich starte ein Programm, welches selbst Ausgaben auf stdout macht.
system("ls");Wie komme ich an die Ausgaben dieses Programmes?
mit system geht's meiner meinung nach nicht. unter win könnteste CreateProcess() nehmen und stdin/stdout über 'pipes' umleiten
-
net schrieb:
mit system geht's meiner meinung nach nicht. unter win könnteste CreateProcess() nehmen und stdin/stdout über 'pipes' umleiten
Das Umleiten hatte ich schon mal unter Java gesehen.
Am liebsten wäre mir halt kein windowsonly Lösung.
Aber gut..
-
hehejo schrieb:
Am liebsten wäre mir halt kein windowsonly Lösung.
Durch die Verwendung von popen hättest du zumindest eine POSIX-konforme Lösung.
-
Danke erstmal!
Noch ne Zwischenfrage: Kann ich diesen Befehl (shellexecute) auch nutzen um eine Datei anzugeben, die mit der aufzurufenden exe gestartet werden soll? Wenn nein, wie mach ich das?
Gruß .. Drea
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp
als parameter mit übergeben
-
HINSTANCE ShellExecute(
HWND hwnd, //Fensterhandle
LPCTSTR lpOperation, //Operation angeben hier: open
LPCTSTR lpFile, //die ausführbare Datei (das Programm) angeben
LPCTSTR lpParameters,
LPCTSTR lpDirectory, //Default-Verzeichnis
INT nShowCmd
);Hm, und wo kann ich da die zu öffnende Datei angeben?
Gruß Drea
-
ShellExecute(hwnd, "open", "notepad.exe", "main.cpp", NULL, SW_SHOWNORMAL);
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ah danke,
hatte ich auch schon versucht aber es hat nicht funktioniert .. hatte wahrscheinlich nen falschen Pfad angegeben ... aber jetz gehts!
Drea