我要在一个进程启动另一进程,子进程用下面的方法启动子进程。
1.WinExec("msasync.exe",SW_SHOW);2. CreateProcess (NULL,"msasync.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)
但子进程运行一半后,必须主进程退出后,才能继续进行,请问各位如何解决这个问题
1.WinExec("msasync.exe",SW_SHOW);2. CreateProcess (NULL,"msasync.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)
但子进程运行一半后,必须主进程退出后,才能继续进行,请问各位如何解决这个问题
HANDLE hProcess,
LPDWORD lpExitCode
);
一旦進程不再运行,别的進程可以调用GetExitCodeProcess来检查由hProcess标识的進程是否已经终止运行。注意,hProcess必须有PROCESS_QUERY_INFORMATION的权利,所以你那样创建进程是不合适的,具体参见msdn。
2、或者用GetExitCodeThread判断进程的主线程是否结束,同理:)
我想用一个主进程启动一个子进程msasync.exe(注msasync.exe是Microsoft activesync 3.5的安装程序)
我试用了下面两种方法:
1.WinExec("msasync.exe",SW_SHOW);
2. CreateProcess (NULL,"msasync.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)
但结果都一样,都是首先启动了msasync.exe,并执行了解压,拷贝文件,但执行到这儿后,就不在继续向下执行,只有主进程退出后,才继续执行以后的安装工作,
我不知这个问题如何解决,请各位老师赐教。