CString CVTBManagerDlg::DetermineInstallPath(void)
{
char szTemp[MAX_PATH];
szTemp[0] = 0;
BROWSEINFO bi;
LPITEMIDLIST lpiil;
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = szTemp;
bi.lpszTitle = "Choose the installation path for the Vailoo system!";
bi.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_USENEWUI;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//------------------------------------------------------------------------------------------
//Hier erfolgt die Ordner vorgabe:
LPITEMIDLIST pidl;
static TCHAR szPath[MAX_PATH * 2] = "";
WCHAR root[MAX_PATH];
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,"C:\\Programme\\", -1, root, MAX_PATH);
IShellFolder *psf = NULL;
SHGetDesktopFolder(&psf);
psf->ParseDisplayName(bi.hwndOwner,NULL,root,NULL,&pidl,NULL);
psf->Release();
bi.pidlRoot = pidl;
//------------------------------------------------------------------------------------------
lpiil = SHBrowseForFolder( &bi );
if ( lpiil != NULL )
{
SHGetPathFromIDList( lpiil, szTemp );
if ( szTemp[strlen( szTemp ) - 1] != 92 )
{
wsprintf( szTemp, "%s\\", szTemp );
}
LPMALLOC lpMalloc;
SHGetMalloc( &lpMalloc );
lpMalloc->Free( lpiil );
}
return CString(szTemp);
}