就用ShellExecute連續打開兩個不同的文件也會導致崩潰,vs也會壹起崩潰了。而且打開的文件之前是沒有打開過的。用函數WaitForSingleObject 會等待已經打開的文件關閉後繼續執行主程序,雖然不會導致程序崩潰但影響用戶體驗。問題仍然沒有徹底解決
SHELLEXECUTEINFO?sei;memset(&sei,?0,?sizeof(SHELLEXECUTEINFO));?
sei.cbSize?=?sizeof(SHELLEXECUTEINFO);
sei.fMask?=?SEE_MASK_NOCLOSEPROCESS;
sei.lpVerb?=?_T("open");
sei.lpFile?=?_T("aa.exe");
sei.nShow?=?SW_SHOWDEFAULT;
ShellExecuteEx(&sei);
WaitForSingleObject(sei.hProcess,?INFINITE);
CloseHandle(sei.hProcess);
參考:bbs.csdn.net/topics/30063042