A lekérdezéshez az ShGetFolderPath függvényt használjuk fel, amely a Delphi 6-os verziójától kezdődően, az ShFolder unit-ban áll rendelkezésünkre.

SHGetFolderPath
function SHGetFolderPath(
hwnd: HWND;
csidl: Integer;
hToken: THandle;
dwFlags: DWord;
pszPath: PAnsiChar
): HRESULT;
A rendszerben használt, azonosítóval rendelkező könyvtárak elérési útjának meghatározására szolgál.
Paraméterek
hwnd: HWND
A függvényt hívó ablak azonosítója. Használhatjuk a 0 értéket is.
csidl: Integer
Annak a könyvtárnak az azonosítója, amelyről információt szeretnénk megtudni.
A könyvtárnevek az operációs rendszer nyelvétől és verziójától függnek. Az alábbiakban a Windows XP magyar változatának könyvtár-elnevezéseit használjuk.
A leggyakrabban használt könyvtárakhoz konstans érték is tartozik. A következő konstansokat használhatjuk:
| Konstans |
Jelentése |
| CSIDL_APPDATA |
Felhasználó\Application Data könyvtár. |
| CSIDL_COMMON_ADMINTOOLS |
Felügyeleti eszközök könyvtára. |
| CSIDL_COMMON_APPDATA |
All Users\Application Data könyvtár. |
| CSIDL_COMMON_DOCUMENTS |
All Users\Dokumentumok könyvtár. |
| CSIDL_COOKIES |
Cookie-k könyvtára. |
| CSIDL_HISTORY |
Felhasználó\Local Settings\History könyvtár. |
| CSIDL_INTERNET_CACHE |
Ideiglenes Internet állományok könyvtára. |
| CSIDL_LOCAL_APPDATA |
Local settings\Application Data könyvtár. |
| CSIDL_MYPICTURES |
Saját képek. |
| CSIDL_PERSONAL |
Saját dokumentumok. |
| CSIDL_PROGRAM_FILES |
Program Files könyvtár. |
| CSIDL_PROGRAM_FILES_COMMON |
Program Files\Common könyvtár. |
| CSIDL_SYSTEM |
Rendszer könyvtár. |
| CSIDL_WINDOWS |
Windows könyvtár. |
A konstansok helyén számértékeket is használhatunk. A számértékkel azonosítható könyvtárak a telepített összetevőktől és komponensektől is függhetnek.
| Érték |
Jelentése |
| 0 |
Felhasználó\Asztal |
| 2 |
Felhasználó\Start Menu\Programs |
| 6 |
Felhasználó\Favorites |
| 7 |
Felhasználó\Start Menu\Programs\Indítópult |
| 8 |
Felhasználó\Recent |
| 9 |
Felhasználó\SendTo |
| 11 |
Felhasználó\Start Menu |
| 13 |
Felhasználó\Dokumentumok\Zene |
| 19 |
Felhasználó\NetHood |
| 20 |
Windows\Fonts |
| 21 |
Felhasználó\Sablonk |
| 22 |
All Users\Start Menu |
| 23 |
All Users\Start Menu\Programs |
| 24 |
All Users\Start Menu\Programs\Indítópult |
| 25 |
All Users\Asztal |
| 27 |
Felhasználó\PrintHood |
| 31 |
All Users\Favorites |
| 45 |
All Users\Sablonok |
| 46 |
All Users\Dokumentumok |
| 47 |
All Users\Start Menu\Programs\Felügyeleti eszközök |
| 53 |
All Users\Dokumentumok\Zene |
| 54 |
All Users\Dokumentumok\Képek |
| 56 |
Windows\Resources |
hToken: THandle
Az információhoz való hozzáféréshez használandó biztonsági TOKEN. A Windows 2000 előtti verziókban itt csak 0-a értéket használhatunk. A 0 értéket bármely Windows verzióval használhatjuk.
dwFlags: DWord
Ez a paraméter azt határozza meg, hogy az adott könyvtár alapértelmezett vagy jelenlegi elérési útját akarjuk-e lekérdezni. Ha a jelenlegi elérési útra vagyunk kíváncsiak, akkor a 0, ha az alapértelmezettre, akkor az 1 értéket kell megadnunk.
pszPath: PAnsiChar
Ebben a paraméterben egy PChar típusú változót kell megadnunk. A lekérdezett elérési út ebbe a változóba fog kerülni, ha a lekérdezés sikeres.
Visszatérési érték
Ha a függvény lefutása sikeres volt, akkor a visszatérési érték 0.