Option ExplicitPrivate Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As LongPrivate Type SHITEMID cb As Long abID As Byte End TypePrivate Type ITEMIDLIST mkid As SHITEMID End TypeFunction Getdesktop(Optional ByRef pathname As String) As String Dim IDL As ITEMIDLIST pathname = Space(512) SHGetSpecialFolderLocation 100, &H0, IDL SHGetPathFromIDList ByVal IDL.mkid.cb, ByVal pathname pathname = Split(pathname, Chr$(0))(0) Getdesktop = pathname End FunctionPrivate Sub Command1_Click() Text1.Text = Getdesktop End Sub
在桌面上随便选个文件,右键,属性,可以得到文件的路径,如 C:\Documents and Settings\xr\桌面 XR是我的登陆用户名称
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As LongPrivate Type SHITEMID
cb As Long
abID As Byte
End TypePrivate Type ITEMIDLIST
mkid As SHITEMID
End TypeFunction Getdesktop(Optional ByRef pathname As String) As String
Dim IDL As ITEMIDLIST
pathname = Space(512)
SHGetSpecialFolderLocation 100, &H0, IDL
SHGetPathFromIDList ByVal IDL.mkid.cb, ByVal pathname
pathname = Split(pathname, Chr$(0))(0) Getdesktop = pathname
End FunctionPrivate Sub Command1_Click()
Text1.Text = Getdesktop
End Sub
C:\Documents and Settings\xr\桌面
XR是我的登陆用户名称