ShellExecute는 처음으로 exe 파일을 열 수 있지만 두 번째로 26을 반환하는 방법은 무엇입니까?
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