我用了这个方法
HINSTANCE handle=EShellExecute(NULL,NULL,"abc.doc",NULL,NULL,SW_SHOW);
DWORD a=WaitForSingleObject((HANDLE)handle,INFINITE);
DOWRD b=GetLastError(a);
//老是返回错误,说是无效的句柄怎么回事啊
HINSTANCE handle=EShellExecute(NULL,NULL,"abc.doc",NULL,NULL,SW_SHOW);
DWORD a=WaitForSingleObject((HANDLE)handle,INFINITE);
DOWRD b=GetLastError(a);
//老是返回错误,说是无效的句柄怎么回事啊
typedef struct _PROCESS_INFORMATION { // pi
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION;
PROCESS_INFORMATION pi;
CreateProcess...
WaitForSingleObject(pi.hProcess,INFINITE);
Q: How do I start a program, and halt execution of my current program, till that program exits?
http://www.codeproject.com/system/newbiespawn.asp
在要等待的进程中创建一个命名的Mutex,在等待进程中定时OpenMutex,若失败,则要等待的进程已关闭