An *.exe mehrere Parameter übergeben!?
-
Hallo,
kann mir jmd erklären, wie ich einer fertigen .exe einen oder mehrere Parameter in die MAIN übergeben kann?
Konnte unter Google und sonstiger Suche nichts finden!
Hier ein Auszug meiner exe:
#include<iostream> #include<stdio.h> using namespace std; //--Prototypendeklaration void tmperstellungFTP_DB(char*); void tmperstellungDB_FTP(char*); bool uebergabe(char*, char*); //--MAIN int main(char* dateiname, bool ftp_db, char* ip) { //--Hier muss der von DB erstellte Dateiname an einen string übergeben werden char file[15]=dazeiname; //=Übergabewert von DB also {dateiname} char ip[16]=ip; //=Übergabewert von DB also {dateiname} bool ftp_db=false; //-Übergabewert von DB (zweiter Übergabeparameter) ob get=true oder put=false) if(ftp_db==true) tmperstellungFTP_DB(file); else if(ftp_db==false) tmperstellungDB_FTP(file); //uebergabe(ip,file); if(uebergabe(ip,file)) { cout<<"Erfolg"; system("pause"); } else { cout<<"kein Erfolg"; system("pause"); } //--Löschen der TEMP-Datei system("del s:\\****\\ftp.tmp"); return(0); } //--Funktionsanweisungen /* */ bool uebergabe(char* ip, const string& file) { char pfad[200]={"ftp -v -s:s:\\*****\\ftp.tmp "}; strcat(pfad,ip); system(pfad); ifstream filetest(file.c_str()); return filetest.is_open(); }Wie bekommt jetzt meine MAIN den "dateinamen", die "ip" und den boolschen Wert???
Vielen Dank
-
in dem fall muss main so (ungefähr) aussehen
int main(int argc, char *argv[])in argc sind die anzahl der parameter gespeichert und argv array sind die parameter zu finden. müsste eigentlich im jedem guten tutorial zu finden sein.
links findest du oben rechts
-
miller_m schrieb:
müsste eigentlich im jedem guten tutorial zu finden sein.
links findest du oben rechts...auch hier im Forum: http://www.c-plusplus.net/forum/viewtopic-var-t-is-153374.html
-
btw: so sieht vl deine *.cpp aus aber NICHT die *.exe ...

-
.filmor schrieb:
miller_m schrieb:
müsste eigentlich im jedem guten tutorial zu finden sein.
links findest du oben rechts...auch hier im Forum: http://www.c-plusplus.net/forum/viewtopic-var-t-is-153374.html
Vielen Dank!
Schlecht wenn man net genau weiß wonach man suchen muss!
Am Schluss hab ichs dann aber noch hinbekommen!!! *jippii*
-
Hallo mal wieder,
jetzt hat sich da etwas ergeben:
Ich habe folgenden VB Code:
Public Function ShellX( _ ByVal PathName As String, _ Optional ByVal WindowStyle As VbAppWinStyle = vbMinimizedFocus, _ Optional ByVal Events As Boolean = True _ ) As Long 'Deklarationen: Const STILL_ACTIVE = &H103& Const PROCESS_QUERY_INFORMATION = &H400& Dim ProcId As Long Dim ProcHnd As Long 'Prozess-Handle holen: ProcId = Shell(PathName, WindowStyle) ProcHnd = OpenProcess(PROCESS_QUERY_INFORMATION, True, ProcId) 'Auf Prozess-Ende warten: Do If Events Then DoEvents GetExitCodeProcess ProcHnd, ShellX Loop While ShellX = STILL_ACTIVE 'Aufräumen: CloseHandle ProcHnd End FunctionEine von mir erstellte EXE wird an einer anderen Stelle erfolgreich ausgeführt und arbeitet auch richtig!
ShellX("S:\******\uebergabe.exe " & pfad1 & " " & pfad2 & " " & strIP & " false", vbHide)Also, wie gesagt, das ganze funktioniert sehr gut!
Jetzt aber folgendes Problem:Die "SHELLX" bekommt den Returnwert der uebergabe.exe nicht zugewiesen!
Was fehlt mir, damit die "Main" der uebergabe.exe den zurückliefernden Wert auch wirklich übergibt???Vielen Dank