我的批处理文件要求输入y / n。我使用CreateProcess()方法运行该批处理文件。如果我使用/ y作为commnad行运行我的批处理文件,它不会要求输入。 e.g
run.bat /y
我想使用命令行/ y使用CreateProcess()运行我的批处理文件,如上所述,例如,我不知道如何使用CreateProcess()执行此操作,我不想修改我的批处理文件。 / p>
::CreateProcess(L"run.bat",NULL,NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,NULL,&startInfo,&procInfo )
,我也试试这个
::CreateProcess(L"run.bat",L"/y",NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,NULL,&startInfo,&procInfo )
但是,它不起作用。如果有人知道怎么做,请告诉我。
:: CreateProcess(L“run.bat”,L“/ y”,NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,NULL,& startInfo,& procInfo)这很好用。这是我的错误,我改变了如果部分和我的流程进入其他部分。我总是改变我的if部分。谢谢你的快速回复。
答案 0 :(得分:0)
试试这个
::CreateProcess(L"cmd.exe", L"/c run.bat /y", NULL, NULL, TRUE, CREATE_NEW_CONSOLE,
NULL, NULL, &startInfo, &procInfo )
要运行批处理文件,必须启动命令解释程序;将 lpApplicationName 设置为cmd.exe并将 lpCommandLine 设置为以下参数:/ c加上批处理文件的名称。