c++ ShellExecuteEx调用java打包的exe程序

方法:

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传递的参数默认是在两个双引号之间的值。包含多个双引号的字符串,只能识别前两个字符串之间包含的内容。

posted @ 2016-10-21 15:43  菜鸟_xf  阅读(535)  评论(0编辑  收藏  举报