CSTRING CBASEUTIL :: FINDEXEPROG (LPCTSTR LPSZPOSTFIX) {IF (lpszpostfix) == 0) Return_T (""); if (lstrcmpi (lpszpostfix, _t ("exe") == 0) Return_t (") ; TCHAR szResult [MAX_PATH]; TCHAR szTempPath [MAX_PATH]; TCHAR szTempName [MAX_PATH]; GetTempPath (MAX_PATH, szTempPath); GetTempFileName (szTempPath, _T ( "."), 0, szTempName); lstrcat (szTempName, _T ( "" )); Lstrcat (sztempname, lpszpostfix);
HANDLE hTempFile = CreateFile ((LPTSTR) szTempName, GENERIC_READ, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hTempFile == INVALID_HANDLE_VALUE) return _T ( ""); CloseHandle (hTempFile); FindExecutable (szTempName, szTempPath, szResult) Deletefile (sztempname); returnif (szResult);