Récupèrer les arguments passés à une application en dehors de main()

Statut
N'est pas ouverte pour d'autres réponses.

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)
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;
}
utilisation:

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);
	}
 

tqz_

Elite
Pensais que tu posais une question au début lol avait pas vu que c'était toi Neku :signe:

Sinon moi je connaissais ;)
 

Tifox

ou pas
Ca peut être utile en effet.

Par contre, peut-être juste un petit conseil : mettre dans le titre le langage/technologie pour lequel tu parles ;)
 

eGm_

Gibon Blasé
C'est du C :p
 

Tifox

ou pas
eGm_ a dit:
J'ai bien vu, mais ce n'est peut-être pas claire directement pour tout le monde, et le mettre dans le titre permet d'avoir directement l'info dans la liste des posts.
 

kawash

Elite
A poster sur cppfrance.com, ce sera plus utile la dessus jpense :p
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut