启动进程参数注意
2013-01-17 10:58
288 查看
SHELLEXECUTEINFO exeInfo;
exeInfo.cbSize = sizeof(SHELLEXECUTEINFO);
exeInfo.fMask = (SEE_MASK_DOENVSUBST|SEE_MASK_FLAG_DDEWAIT|0x04000000|SEE_MASK_NOCLOSEPROCESS|SEE_MASK_NO_CONSOLE);
exeInfo.hwnd = NULL;
exeInfo.lpVerb = _T("open");
exeInfo.lpFile = _T("c:\\IPCClient.exe");
exeInfo.lpParameters = L"test";
exeInfo.lpDirectory = L"c:\\windows";
//今天查一个bug 调用shellexcute的函数启动一个子进程的时候,发现传入的工作目录参数没有生效。
//当时调用的是 exeInfo.lpDirectory = GetWorkingDirectory();
//后来排查 发现是返回的字符空间被释放了 写个博客记录下
exeInfo.nShow = SW_SHOWNORMAL;
exeInfo.hInstApp = NULL;
exeInfo.lpIDList = NULL;
exeInfo.lpClass = NULL;
exeInfo.hkeyClass = NULL;
exeInfo.dwHotKey = NULL;
exeInfo.hMonitor = NULL;
exeInfo.hIcon = NULL;
exeInfo.hProcess = NULL;
int nRet = ::ShellExecuteEx(&exeInfo);
exeInfo.cbSize = sizeof(SHELLEXECUTEINFO);
exeInfo.fMask = (SEE_MASK_DOENVSUBST|SEE_MASK_FLAG_DDEWAIT|0x04000000|SEE_MASK_NOCLOSEPROCESS|SEE_MASK_NO_CONSOLE);
exeInfo.hwnd = NULL;
exeInfo.lpVerb = _T("open");
exeInfo.lpFile = _T("c:\\IPCClient.exe");
exeInfo.lpParameters = L"test";
exeInfo.lpDirectory = L"c:\\windows";
//今天查一个bug 调用shellexcute的函数启动一个子进程的时候,发现传入的工作目录参数没有生效。
//当时调用的是 exeInfo.lpDirectory = GetWorkingDirectory();
//后来排查 发现是返回的字符空间被释放了 写个博客记录下
exeInfo.nShow = SW_SHOWNORMAL;
exeInfo.hInstApp = NULL;
exeInfo.lpIDList = NULL;
exeInfo.lpClass = NULL;
exeInfo.hkeyClass = NULL;
exeInfo.dwHotKey = NULL;
exeInfo.hMonitor = NULL;
exeInfo.hIcon = NULL;
exeInfo.hProcess = NULL;
int nRet = ::ShellExecuteEx(&exeInfo);
相关文章推荐
- slave复制进程不随mysql启动而启动 skip-slave-start参数
- EVC进程获取启动参数
- etcd集群启动参数说明及注意事项
- 查看进程启动参数
- 基于visual c++之windows核心编程代码分析(52)使用WMI 获取进程启动参数
- WPF进程接收启动参数
- Intellij IDEA带参数启动Springboot注意事项
- C++获取进程启动参数
- Symbian 3rd 带参数启动进程
- 基于visual c++之windows核心编程代码分析(52)使用WMI 获取进程启动参数
- vb得到一个进程的启动参数?
- S60实现带参数启动进程
- MFC启动其他MFC进程,并传递参数,同时获取参数
- Symbian 3rd 带参数启动进程
- vb得到一个进程的启动参数?
- linux ulimit命令参数及用法详解--linux限定shell启动进程资源
- 进程启动命令行中怎么传递带空格的参数
- Andorid开发之进程后台被kill后恢复与webView.loadUrl拼接参数注意事项
- S60实现带参数启动进程
- 读取其它进程启动参数(综合网上文章)