[C]EXE mit parametern ausführen
[C]EXE mit parametern ausführen
hallo ich
Möchte in meinem code (Programm) eine weitere Exe mit Parametern aufrufen.
Habe leider nichts brauchbares gefunden
Möchte in meinem code (Programm) eine weitere Exe mit Parametern aufrufen.
Habe leider nichts brauchbares gefunden
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: [C]EXE mit parametern ausführen
Wir haben dazu was im Tutorial:
http://www.proggen.org/doku.php?id=c:tutorial:params
So wird auch das mit dem "auf die Exe ziehen" aus deinem anderen Post erschlagen, wenn ich mich richtig errinere.
http://www.proggen.org/doku.php?id=c:tutorial:params
So wird auch das mit dem "auf die Exe ziehen" aus deinem anderen Post erschlagen, wenn ich mich richtig errinere.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: [C]EXE mit parametern ausführen
Hi
Super dank dir, dann werde ich mich damit mal befassen
Super dank dir, dann werde ich mich damit mal befassen
Re: [C]EXE mit parametern ausführen
Hi
mit dn parameern und das schieben auf die kompilierte exe klappt super.
danke
ich gehe davon aus, das die Sortierung welches Argument Nr. 1 ist Alphabetisch erfolgt (also wenn ich 2 dateien drauf schiebe)
Aber meine eigentliche Frage hier war. wie ufe ich in meinem Programm z.B. Notepad.exe (oder ein eigenes) auf. und das dann mit argumenten
ShellExecute hab ich gefunden. Aber gibt es noch was anderes?
mit dn parameern und das schieben auf die kompilierte exe klappt super.
danke
ich gehe davon aus, das die Sortierung welches Argument Nr. 1 ist Alphabetisch erfolgt (also wenn ich 2 dateien drauf schiebe)
Aber meine eigentliche Frage hier war. wie ufe ich in meinem Programm z.B. Notepad.exe (oder ein eigenes) auf. und das dann mit argumenten
ShellExecute hab ich gefunden. Aber gibt es noch was anderes?
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: [C]EXE mit parametern ausführen
Die Funktion "system" sollte das können:Aber meine eigentliche Frage hier war. wie ufe ich in meinem Programm z.B. Notepad.exe (oder ein eigenes) auf. und das dann mit argumenten
ShellExecute hab ich gefunden. Aber gibt es noch was anderes?
http://www.cplusplus.com/reference/cstdlib/system/
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: [C]EXE mit parametern ausführen
Hi danke ja klappt soweit gut. jetzt noch eine erweiterung
In dem ordner meines Programms ist ein ordner \\Tools\ in dem das Prog Notepad.exe enthalten ist. das wollte ich öffnen.
Aber so funktioniert es nicht:
Habe dann versucht das Arbeitsvezeichnis auf diesem weg zu wehcseln.
klappte aber auch nicht
er hat anscheinend ein problem mit dem hier
Unknown escape sequence \T kommt vom kompiler
Vielen dank für die Hilfe bisher. Mir gefällt, das hier nicht unnötige kommentare wie in den Anderen Foren kommen.
Dort wäre ich shcon gefragt worden: "Warum ich Notepad nicht so öffne"
DANKE
In dem ordner meines Programms ist ein ordner \\Tools\ in dem das Prog Notepad.exe enthalten ist. das wollte ich öffnen.
Aber so funktioniert es nicht:
Code: Alles auswählen
//system(\Tools\"Notepad.exe filename filename");
Code: Alles auswählen
char Verzeichnis[900];
getcwd(Verzeichnis,sizeof(Verzeichnis));
printf("Das aktuelle Arbeitsverzeichnis ist:\n%s\n",Verzeichnis);
chdir("%s\\Tools\",Verzeichnis);
//system("Notepad.exe");
er hat anscheinend ein problem mit dem hier
Code: Alles auswählen
chdir("%c\\Tools\",Verzeichnis);
Vielen dank für die Hilfe bisher. Mir gefällt, das hier nicht unnötige kommentare wie in den Anderen Foren kommen.
Dort wäre ich shcon gefragt worden: "Warum ich Notepad nicht so öffne"
DANKE
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: [C]EXE mit parametern ausführen
Laut Doku kann chdir keine Textersetzungen à la %s.er hat anscheinend ein problem mit dem hierUnknown escape sequence \T kommt vom kompilerCode: Alles auswählen
chdir("%c\\Tools\",Verzeichnis);
Du musst dir erst deinen Text zusammen bauen:
Code: Alles auswählen
char text[100];
sprintf(text, "%s\\Tools", toolDir);
chdir(text);
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: [C]EXE mit parametern ausführen
Hi
weitere Punkt wo ih hänge. ich möchte Parameter übergeben, die in einer variablen gespeichert sind (z.B. ein dateiname, den ich übergeben möchte)
Bsp. ich habe ein programm, was bmp in png convertiert, dies möchte ich ausführn und Parameter übergeben
klappt auch nicht.
weitere Punkt wo ih hänge. ich möchte Parameter übergeben, die in einer variablen gespeichert sind (z.B. ein dateiname, den ich übergeben möchte)
Bsp. ich habe ein programm, was bmp in png convertiert, dies möchte ich ausführn und Parameter übergeben
Code: Alles auswählen
printf ("Bitte Quelldatei angeben: \n");
scanf( "%s", &filename[0] ); // Adresse des ersten Buchstabens
printf( "Sie gaben folgenden String ein: %s\n", filename );
system("convert.exe filename filename.png");
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: [C]EXE mit parametern ausführen
An dieser Stelle kommt der obligatorische Link: http://www.proggen.org/doku.php?id=faq:frageformulierenBsp. ich habe ein programm, was bmp in png convertiert, dies möchte ich ausführn und Parameter übergeben
Code: Alles auswählen
printf ("Bitte Quelldatei angeben: \n"); scanf( "%s", &filename[0] ); // Adresse des ersten Buchstabens printf( "Sie gaben folgenden String ein: %s\n", filename ); system("convert.exe filename filename.png");
klappt auch nicht.
Ich weiß nicht was du versuchst, aber in deinem Code machst du Folgendes:
Einen Text in eine Variable einlesen, die "filename" heißt, diese Variable ausgeben und dann einen cmd-Aufruf mit folgendem Inhalt zu starten:
"convert.exe filename filename.png"
Ich gehe mal davon aus, dass du hier statt "filename" den Inhalt der Variablen "filename" ausgeben wolltest.
Dafür musst du aber den Inhalt in einen Text kopieren, auch hier hilft dir wieder sprintf:
Code: Alles auswählen
char command[200];
char filename[200];
sprintf(command, "convert.exe %s %s.png", filename, filename);
system(command);
Bitte denke immer erst darüber nach, ob das was du Programmierst auch sinn macht.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum