Hallo,
wie kann man aus einem C-Programm ein anderes Programm aufrufen?
Mit system(„halo.exe“) gehts leider nicht!
Bin für jede Anregung dankbar.
Viele Grüße
Steffen
Hallo,
wie kann man aus einem C-Programm ein anderes Programm
aufrufen?
Mit system(„halo.exe“) gehts leider nicht!
Bin für jede Anregung dankbar.
Hallo,
es gibt mehrere Möglichkeiten, warum das nicht geklappt hat. Es könnte
z.B. ein Schreibfehler sein (halo anstatt hallo) oder aber Du solltest
es mal mit dem kompletten Pfad probieren: (system(„c:\bla\hier\halo.exe“))
Gruß
Fritze
Hallo,
schreib mal einfach folgende Zeile:
ShellExecute(NULL, NULL, „C:\Programme\Irgendein_Programm.exe“, NULL, NULL, SW_SHOWNORMAL);
MFG Lech
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
Da hat sich bei Fritze leider ein kleiner Fehler eingeschlichen, der vielleicht auch für den Fall von Untoter verantwortlich ist:
In Stringkonstanten ist „“ ein spezielles Zeichen, das Escape-Sequenzen einleitet. Soll der String wirklich einen Backslash enthalten, so ist er durch Verdoppelung zu entwerten.
Kurzes Beispiel:
"c:\name\tree\file.exe"
wird zu
"c:
ame ree
ile.exe"
wobei „\n“ als new_line und „\t“ als tabulator interpretiert wurde, „\f“ wird zu form_feed. Für das gewünschte Resultat wäre
"c:\\name\\tree\\file.exe"
zu schreiben.
Gruß,
TheBeast
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
wie kann man aus einem C-Programm ein anderes Programm
aufrufen?
Mit system(„halo.exe“) gehts leider nicht!
Bin für jede Anregung dankbar.
Viele Grüße
SteffenHallo,
schreib mal einfach folgende Zeile:ShellExecute(NULL, NULL,
„C:\Programme\Irgendein_Programm.exe“, NULL, NULL,
SW_SHOWNORMAL);
Hallo Lech!
Ich will ja hier keine unnötige Diskussion anzetteln, aber ich würde den „system“ jederzeit dem „ShellExecute“ vorziehen, ganz besonders dann, wenn ich nicht gerade auf Windows programmiere *g*. Scherz beseite: Warum unbedingt proprietären Code schreiben, wenn ich mit ANSI-C genauso gut auskomme, es gibt ohnehin genügend Bereiche, wo das schon fast unmöglich wird.
Gruß und nix für ungut,
TheBeast
Hallo,
hast ja recht. Noch ein Grund, lieber für Unix zu programmieren. Da gilt „/“ als Trenner.
Ich wollte es dem Windows-User leichter machen und dann so ein Klopfer. Danke für die Korrektur!
Gruß
Fritze