Sistem Klasörleri
(General)(Declaration)
Option Explicit
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Declare Function LocalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
"SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hWndOwner As Long, ByVal nFolder As Long, pidl As Any) As Long
Const MAX_PATH = 260
Private Sub Form_Load()
List1.AddItem "CSIDL_DESKTOP": List1.ItemData(List1.NewIndex) = &H0
List1.AddItem "CSIDL_INTERNET": List1.ItemData(List1.NewIndex) = &H1
List1.AddItem "CSIDL_PROGRAMS": List1.ItemData(List1.NewIndex) = &H2
List1.AddItem "CSIDL_CONTROLS": List1.ItemData(List1.NewIndex) = &H3
List1.AddItem "CSIDL_PRINTERS": List1.ItemData(List1.NewIndex) = &H4
List1.AddItem "CSIDL_PERSONAL": List1.ItemData(List1.NewIndex) = &H5
List1.AddItem "CSIDL_FAVORITES": List1.ItemData(List1.NewIndex) = &H6
List1.AddItem "CSIDL_STARTUP": List1.ItemData(List1.NewIndex) = &H7
List1.AddItem "CSIDL_RECENT": List1.ItemData(List1.NewIndex) = &H8
List1.AddItem "CSIDL_SENDTO": List1.ItemData(List1.NewIndex) = &H9
List1.AddItem "CSIDL_BITBUCKET": List1.ItemData(List1.NewIndex) = &HA
List1.AddItem "CSIDL_STARTMENU": List1.ItemData(List1.NewIndex) = &HB
List1.AddItem "CSIDL_DESKTOPDIRECTORY"
List1.ItemData(List1.NewIndex) = &H10
List1.AddItem "CSIDL_DRIVES": List1.ItemData(List1.NewIndex) = &H11
List1.AddItem "CSIDL_NETWORK": List1.ItemData(List1.NewIndex) = &H12
List1.AddItem "CSIDL_NETHOOD": List1.ItemData(List1.NewIndex) = &H13
List1.AddItem "CSIDL_FONTS": List1.ItemData(List1.NewIndex) = &H14
List1.AddItem "CSIDL_TEMPLATES": List1.ItemData(List1.NewIndex) = &H15
List1.AddItem "CSIDL_COMMON_STARTMENU"
List1.ItemData(List1.NewIndex) = &H16
List1.AddItem "CSIDL_COMMON_PROGRAMS"
List1.ItemData(List1.NewIndex) = &H17
List1.AddItem "CSIDL_COMMON_STARTUP"
List1.ItemData(List1.NewIndex) = &H18
List1.AddItem "CSIDL_COMMON_DESKTOPDIRECTORY"
List1.ItemData(List1.NewIndex) = &H19
List1.AddItem "CSIDL_APPDATA": List1.ItemData(List1.NewIndex) = &H1A
List1.AddItem "CSIDL_PRINTHOOD": List1.ItemData(List1.NewIndex) = &H1B
List1.AddItem "CSIDL_LOCAL_APPDATA"
List1.ItemData(List1.NewIndex) = &H1C
List1.AddItem "CSIDL_ALTSTARTUP": List1.ItemData(List1.NewIndex) = &H1D
List1.AddItem "CSIDL_COMMON_ALTSTARTUP"
List1.ItemData(List1.NewIndex) = &H1E
List1.AddItem "CSIDL_COMMON_FAVORITES"
List1.ItemData(List1.NewIndex) = &H1F
List1.AddItem "CSIDL_INTERNET_CACHE"
List1.ItemData(List1.NewIndex) = &H20
List1.AddItem "CSIDL_COOKIES": List1.ItemData(List1.NewIndex) = &H21
List1.AddItem "CSIDL_HISTORY": List1.ItemData(List1.NewIndex) = &H22
List1.AddItem "CSIDL_COMMON_APPDATA"
List1.ItemData(List1.NewIndex) = &H23
List1.AddItem "CSIDL_WINDOWS": List1.ItemData(List1.NewIndex) = &H24
List1.AddItem "CSIDL_SYSTEM": List1.ItemData(List1.NewIndex) = &H25
List1.AddItem "CSIDL_PROGRAM_FILES"
List1.ItemData(List1.NewIndex) = &H26
List1.AddItem "CSIDL_MYPICTURES": List1.ItemData(List1.NewIndex) = &H27
List1.AddItem "CSIDL_PROFILE": List1.ItemData(List1.NewIndex) = &H28
List1.AddItem "CSIDL_SYSTEMX86": List1.ItemData(List1.NewIndex) = &H29
List1.AddItem "CSIDL_PROGRAM_FILESX86"
List1.ItemData(List1.NewIndex) = &H2A
List1.AddItem "CSIDL_PROGRAM_FILES_COMMON"
List1.ItemData(List1.NewIndex) = &H2B
List1.AddItem "CSIDL_PROGRAM_FILES_COMMONX86"
List1.ItemData(List1.NewIndex) = &H2C
List1.AddItem "CSIDL_COMMON_TEMPLATES"
List1.ItemData(List1.NewIndex) = &H2D
List1.AddItem "CSIDL_COMMON_DOCUMENTS"
List1.ItemData(List1.NewIndex) = &H2E
List1.AddItem "CSIDL_COMMON_ADMINTOOLS"
List1.ItemData(List1.NewIndex) = &H2F
List1.AddItem "CSIDL_ADMINTOOLS": List1.ItemData(List1.NewIndex) = &H30
List1.AddItem "CSIDL_CONNECTIONS": List1.ItemData(List1.NewIndex) = &H31
List1.ListIndex = 0
End Sub
Private Sub list1_Click()
Dim idl As Long, aPath As String
aPath = Space$(MAX_PATH)
Label1.Caption = " * Yok *"
If SHGetSpecialFolderLocation(hwnd, List1.ItemData(List1.ListIndex), idl) = 0 Then
If SHGetPathFromIDList(idl, aPath) Then
Label1.Caption = Left$(aPath, InStr(aPath, Chr$(0)) - 1)
End If
LocalFree idl
End If
End Sub