我用CreateProcess打开一个控制台程序,该程序是多线程的,可是一直用CreateProcess()都没有成功,代码如下,还有,请问各位当是多线程的时候,SECURITY_ATTRIBUTES怎么设置啊,小弟没有找到相关的资料,请各位指教一下
bool bCreat;
SECURITY_ATTRIBUTES sa; STARTUPINFO si;
PROCESS_INFORMATION pi;
sa.nLength=sizeof(sa);
sa.bInheritHandle=true;
sa.lpSecurityDescriptor=NULL; bCreat=CreateProcess("D:\\MulApp.exe",NULL,&sa,&sa,true,NULL,NULL,NULL,&si,&pi);
一直返回0
bool bCreat;
SECURITY_ATTRIBUTES sa; STARTUPINFO si;
PROCESS_INFORMATION pi;
sa.nLength=sizeof(sa);
sa.bInheritHandle=true;
sa.lpSecurityDescriptor=NULL; bCreat=CreateProcess("D:\\MulApp.exe",NULL,&sa,&sa,true,NULL,NULL,NULL,&si,&pi);
一直返回0
解决方案 »
- 关于 html中打开不能够显示子网页的问题
- 郁闷了,二进制存储问题
- 如何通过Sock5代理服务器FTP到外网服务器上?
- who can help me?
- Vc高手,我怎么实现:让代码在一定的时间内失效?有哪些比较好的实现方法?
- 小问题:如何使CFileDialog 在DoModal() 时显示指定的目录,而不是默认目录
- combobox怎么和access2000连起来阿,小弟在线等
- vc++6.0与visual studio 2005/2008哪个在实际开发中用的多?
- 软件工程师请注意拉!
- 如何获得另外一个程序的EDIT控件的内容???
- 如何去的当前目录下配置文件的路径?
- 当点击窗口中的某一个控件时,我发现,点击消息被控件“拦截”了,怎样使点击消息不被控件拦截,而回到窗口中?
NULL, NULL, FALSE, 0, NULL, bcppath.c_str(), &si, &pi);
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcessInfo;
_snprintf(strPath, _MAX_PATH-1, "%s%s", strWorkingDir, "\\***.exe");
memset((void*)&StartupInfo, 0, sizeof(StartupInfo));
memset((void*)&ProcessInfo, 0 ,sizeof(ProcessInfo));
if(CreateProcess( NULL, strPath, NULL, NULL, FALSE, 0, NULL, NULL, &StartupInfo, &ProcessInfo ))
{
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
}
else
return -1;
我用TerminateProcess(ProcessInfo.hProcess,uExitCode)好象不行
我要的效果就是象在任务管理器中-》进程里结束进程的一样
谢谢了