001
11.10.2004, 13:43 Uhr
OnkelHotte
|
So, ich hab im Netz eine Funktion gefunden, die einen char* in einen pidl umwandelt:
Code: |
LPITEMIDLIST ConvertPathToLpItemIdList(const char *pszPath) { LPITEMIDLIST pidl; LPSHELLFOLDER pDesktopFolder; OLECHAR olePath[MAX_PATH]; ULONG chEaten; ULONG dwAttributes; HRESULT hr;
if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder))) { MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, pszPath, -1, olePath, MAX_PATH); hr = pDesktopFolder->ParseDisplayName(NULL, NULL, olePath, &chEaten, &pidl, &dwAttributes); pDesktopFolder->Release(); } return pidl; }
|
Danach einfach
Code: |
bi.pidlroot = ConvertPathToLpItemIdList (Pfad);
|
angeben und schon lüppt das |