Bonjour,
J'ai besoin d'appeler un programme écrit en managé à partir d'un programme écrit en mode "normal" (selon mon point du vue !).
Contrairement à e que j'ai lu en cherchant la solution la fonction d'entrée dans le programme appelé est :
int main(array<System::String ^> ^args)
ce qui semble signifier l'attente d'un tableau de "string".
J’utilise ceci dans le programme appelant (écrit en MBSC et pas en 'UNICODE')
1 2
| string argS[2] = { tpData, "pour voir"}; // 'tpData' contient des infos à transmettre à l'EXE
retour = CreateProcessW(L"visio.exe", (LPWSTR)&argS, NUL, NUL, FAUX, 0/*DEBUG_PROCESS*/, NUL, NUL, &sInfo, &sProcess); |
Le programme "visio.exe" appelé se lance correctement, mais impossible de récupérer les arguments de la ligne de commande, coté 'visio.exe' 'args' est désespérément vide.
J'ai tenté ceci :
retour = CreateProcessW(L"visio.exe", (LPWSTR)&tpData, NUL, NUL, FAUX, 0/*DEBUG_PROCESS*/, NUL, NUL, &sInfo, &sProcess);
Résultat identique.
Je suis sur que la solution est simple et que je n 'ai pas vu quelque chose d"évident (l'age ?), donc si quelqu'un à une idée je suis preneur.
Bon courage pour le confinement.
Partager