Programm mit Parameter
-
Wie mache ich es, dass ich ich eine WinApi Anwendung mit einem bestimmten Parameter starte???
z.B. Test.exe -x
geht das überhaupt, wenn ja wie?
mfg Anaconda
-
z.B. über Start/Ausführen oder über die Eingabeaufforderung. die WinMain hat doch extra einen Parameter dafür:
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line <----------------
int nCmdShow // show state
);
-
soweit bin ich schon gekommen, aber wie bau ich das jetzt in den Code ein, dass wenn die Anwendung mit dem Parameter x gestartet wird, etwas bestimmtes ausführt???
if(lpCmdLine == "x")
...oder wie
-
lstrcmp
warum programmierst du schon winapi, wenn du noch nicht mal einen string vergleichen kannst?
-
Schande über mich (hab vor kurzem wieder mal VB
geproggt daher der Vergleich ohne strcmp).
Zurück zum Problem: es funzt auch mit strcmp nicht. Wie mache ich es, dass wenn ich die Anwendung mit dem Parameter e starte etwas anderes macht als wenn sie normal gestartet wird.
mit der console gings noch einfach:
int main(int argc, char *argv[]) { bool xyz; if (argc == 5) { xyz = (tolower(argv[1][1]) == 'e'); . . .
sowas will ich mit einer winapi anwendung, ich hoffe ihr wisst jetzt was ich meine
mfg Anaconda
-
...WinMain(.......................) { if(lstrcmp(lpCmdLine, "e") == 0) { // anders starten } }
-
benutz besser strstr.
Der Parameter ist "-e" und nicht "e".Und es könnten ja evtl. noch weitere Parameter folgen.
Die beste Lösung: schreib dir einen Commandline Parser, der dir die Argumente schön der Reihe nach liefert.