neku
Codeur roumain
Voici une fonction permettant de récupèrer les arguments passés à une application en dehors du main (fonctionne que sous windows)
utilisation:
Code:
#include <windows.h>
char** GetCommandLineC(int* Argc) {
LPWSTR* WArgv = NULL;
char** Argv = NULL;
WArgv = CommandLineToArgvW(GetCommandLineW(), Argc);
if (WArgv != NULL) {
Argv = new char*[*Argc];
for (int i = 0; i < *Argc; i++) {
int Len = wcslen(WArgv[i]);
char* String = new char[Len];
wcstombs(String, WArgv[i], Len);
Argv[i] = String;
}
LocalFree(Argv);
}
return Argv;
}
void FreeCommandLine(char** Argv, int Argc) {
for (int i = 0; i < Argc; i++)
delete Argv[i];
delete Argv;
}
Code:
int Argc = 0;
char** Argv = GetCommandLineC(&Argc);
if (Argv != NULL) {
for (int i = 0; i < Argc; i++) {
//printf("%s\n", Argv[i]);
}
FreeCommandLine(Argv, Argc);
}