如果通过CreateProcess创建进程来调用控制台程序,那么在传递命令参数时需要加上 空格,如果不加上空格,argv是无法获取到参数的,示例如下主程序:
nError = ::CreateProcess(cCmdFile, L" -s", NULL, NULL, FALSE,
NORMAL_PRIORITY_CLASS, NULL, NULL, &startupinfo, &proc_info);
控制台程序:
if (argc >= 2)
{
if (argv[1] != NULL)
{
cmdParam = argv[1];
}
}