您的位置:首页 > 其它

启动进程参数注意

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: