Kommandozeilenparameter auslesen
-
Hallo zusammen,
habe ein normales C++ Projekt in BCB. Möchte nun auf die Parameter zugreifen, die man vor dem Programmstart festlegen kann. (Also: Start->Parameter...)
Bei normalen Kommandozeilenprogrammen wurde die main-Methode ja folgendermaßen definiert:
int main(int argc, char* argv[]) { ... }
Da konnte man argv abfragen. Nun meine Frage...
Wie kann ich das in einem Windowsprojekt von BCB. Da sieht die main - Funktion ja folgendermaßen aus:WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ... }
Wie kann ich nun auf festgelegte Parameter zugreifen?? Vielleicht hat einer auch ein kleiner Beispiel!
Vielen Dank für die Antworten!
Gruß
-
Guck mal unter ParamStr und ParamCount ...
-
Du könntest dir auch mal den LPSTR-Parameter der WinMain() ansehen - der enthält die Kommandozeilenparameter "am Stück" (sprich: du müsstest sie selber aufdröseln).
-
Ich würde ParamStr etc. lieber nicht nutzen. Spätestens wenn Pfade mit Leerzeichen übergeben werden geht das in die Hose.
-
Danke! Hat sich schon erledigt. CStoll hat recht!
Man kann LPSTR-Parameter benutzen!Hier auch mal ein Link für ein Beispiel:
http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc06016.php
Trotzdem danke!
-
Braunstein schrieb:
Ich würde ParamStr etc. lieber nicht nutzen. Spätestens wenn Pfade mit Leerzeichen übergeben werden geht das in die Hose.
Woher kommt dieser Aberglaube? ParamStr funktioniert absolut zuverlässig. Natürlich müssen Zeichenketten, die Leerzeichen enthalten, ggf. in Anführungszeichen eingefasst werden, aber das müssen sie bei allen anderen Lösungen auch.
Dass es in der ursprünglichen Fragen wohl um ein WinAPI-Projekt ohne VCL geht, lasse ich mal aussen vor.