方法:
SHELLEXECUTEINFO ShellInfo;
memset(&ShellInfo, 0, sizeof(ShellInfo)); ShellInfo.cbSize = sizeof(ShellInfo); ShellInfo.hwnd = NULL; ShellInfo.lpVerb = L"open";ShellInfo.lpFile = L"test.exe"; // 此处写执行文件的绝对路径 ShellInfo.lpParameters = L"para1 para2";//参数,多个参数用空格隔开(para1和para2是字符串);参数也可以是一个LPCWSTR类型的变量,写法:ShellInfo.lpParameters = 变量名; ShellInfo.nShow = SW_SHOWNORMAL; ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS; BOOL bResult = ShellExecuteEx(&ShellInfo);//调用exe程序总结:我在使用这种方法给exe程序传递一个json字符串时,由于json串中包含了双引号,导致传输失败。因为给exe传递的参数默认是在两个双引号之间的值。包含多个双引号的字符串,只能识别前两个字符串之间包含的内容。