У меня проблема с CreateProcess()
.Аргументы командной строки CreateProcess
В этом примере CreateProcess()
работает прекрасно:
bSuccess = CreateProcess(
TEXT("os-util.exe"),
TEXT("os-util.exe 0x273e:0x0007:0x0100 --get-channel"), NULL, NULL, TRUE,
0,
NULL, szFileName, &si, &pi);
Проблема заключается в том, что я хочу изменить командную строку, которую я прохожу. Я попробовал несколько решений, но они не дали мне хороших результатов. Например:
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);
как я могу изменить только часть
TEXT("")
?Как я могу сделать командную строку от более чем одного
TEXT("")
?
Если ни один из этих вариантов не доступен, что можно сделать? Я хочу, чтобы кнопка кнопки пользовательского интерфейса вызывала CreateProcess()
с различными аргументами командной строки.
Почему вы используете ТЕКСТ в первую очередь. Вам действительно нужно поддерживать Windows 98? Почему бы вам не пойти со временем и не использовать Unicode? –
'cmdArgslistSetChannel' должен быть' PWSTR', но не 'PWSTR *' как в вашем коде. так что ваш вопрос, как форматировать строку? – RbMm
Похоже, вам просто нужно добавить к своей строке? Это должно быть легко. И если вы проверите [документацию для CreateProcess] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425 (v = vs.85) .aspx), он не принимает массив строки во втором параметре, поэтому не уверен, что вы даже пытаетесь там. – crashmstr