启动进程参数注意

        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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值