J'ai un peu de problème en utilisant CreateProcess()
.Arguments de ligne de commande CreateProcess
Dans cet exemple, CreateProcess()
fonctionne parfaitement bien:
bSuccess = CreateProcess(
TEXT("os-util.exe"),
TEXT("os-util.exe 0x273e:0x0007:0x0100 --get-channel"), NULL, NULL, TRUE,
0,
NULL, szFileName, &si, &pi);
Le problème est que je veux modifier la ligne de commande que je passe. J'ai essayé quelques solutions, mais elles ne m'ont pas donné de bons résultats. Par exemple:
LPWSTR cmdArgslistSetChannel[] = { TEXT("os-util.exe"), TEXT("0x273e:0x0007:0x0100"), TEXT("--set-channel"), TEXT("11") };
bSuccess = CreateProcess(
TEXT("os-util.exe"),
cmdArgslistSetChannel, NULL, NULL, TRUE,
0,
NULL, szFileName, &si, &pi);
comment puis-je changer juste une partie de la
TEXT("")
? Comment puis-je faire la ligne de commande à partir de plusieursTEXT("")
?
Si aucune de ces options n'est disponible, que peut-on faire? Je veux une poussée de bouton d'interface utilisateur pour appeler CreateProcess()
avec différents arguments de ligne de commande.
Pourquoi utilisez-vous TEXT en premier lieu. Avez-vous vraiment besoin de supporter Windows 98? Pourquoi n'allez-vous pas avec le temps et utilisez Unicode? –
'cmdArgslistSetChannel' doit être' PWSTR' mais pas 'PWSTR *' comme dans votre code. alors votre question comment chaîne de format? – RbMm
On dirait que vous auriez juste besoin d'ajouter à votre chaîne? Cela devrait être facile. Et si vous vérifiez la [documentation pour CreateProcess] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425 (v = vs.85) .aspx), il n'accepte pas un tableau de chaînes dans le deuxième paramètre, donc pas sûr de ce que vous essayez même là. – crashmstr