shellexecuteex传递多个参数
时间: 2023-09-17 08:07:18 浏览: 88
使用ShellExecuteEx调用控制台程序(exe)并传入多个参数
5星 · 资源好评率100%
ShellExecuteEx函数可以传递多个参数,可以使用结构体SHELLEXECUTEINFO来传递参数。以下是一个示例代码:
```
SHELLEXECUTEINFO sei = {0};
sei.cbSize = sizeof(sei);
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.lpVerb = _T("open");
sei.lpFile = _T("C:\\Program Files\\MyApp\\MyApp.exe");
sei.lpParameters = _T("/param1 value1 /param2 value2");
sei.nShow = SW_SHOW;
ShellExecuteEx(&sei);
```
在这个示例中,我们传递了三个参数给MyApp.exe程序,分别是/param1、/param2和它们的值value1和value2。这些参数都被包含在sei.lpParameters字符串中,并且在MyApp.exe程序启动时会被传递给它。
请注意,参数字符串中的空格和引号需要进行转义,否则参数可能会被错误地解析。可以使用双引号来包含带有空格的值,并使用双引号来转义嵌套的双引号,例如:
```
sei.lpParameters = _T("/param1 \"value with spaces\" /param2 \"value \\\"with\\\" quotes\"");
```
这将传递两个参数给MyApp.exe程序,分别是/param1和/param2,值分别为"value with spaces"和"value "with" quotes"。
阅读全文