CString CBaseUtil::FindExeProg(LPCTSTR lpszPostfix)
{
if (lstrlen(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);
;
return CString(szResult);
}