Public Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long
Public Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As LongConst MAX_LEN = 200 '字符串最大长度
Const DESKTOP = &H0& '桌面Function GetDesktop(str As String)
Dim sTmp As String * MAX_LEN '存放结果的固定长度的字符串
Dim pidl As Long '某特殊目录在特殊目录列表中的位置'*************************获得DeskTop目录**********************************
SHGetSpecialFolderLocation 0, DESKTOP, pidl
SHGetPathFromIDList pidl, sTmp
str = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得发送到目录**********************************
End Function
当我用Administrator登陆时,这个得到的是"C:\Documents and Settings\Administrator\桌面",但桌面上的快捷方式不光来自这个目录,还有"C:\Documents and Settings\All Users\桌面"这个目录里的,有什麽办法不用手动的方式得到这个目录?
Public Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As LongConst MAX_LEN = 200 '字符串最大长度
Const DESKTOP = &H0& '桌面Function GetDesktop(str As String)
Dim sTmp As String * MAX_LEN '存放结果的固定长度的字符串
Dim pidl As Long '某特殊目录在特殊目录列表中的位置'*************************获得DeskTop目录**********************************
SHGetSpecialFolderLocation 0, DESKTOP, pidl
SHGetPathFromIDList pidl, sTmp
str = Left(sTmp, InStr(sTmp, Chr(0)) - 1)
'*************************获得发送到目录**********************************
End Function
当我用Administrator登陆时,这个得到的是"C:\Documents and Settings\Administrator\桌面",但桌面上的快捷方式不光来自这个目录,还有"C:\Documents and Settings\All Users\桌面"这个目录里的,有什麽办法不用手动的方式得到这个目录?
这个目录是系统默认公用的
手动就行了吧~
Const CSIDL_COMMON_DESKTOPDIRECTORY As Long = &H19SHGetSpecialFolderLocation 0, CSIDL_COMMON_DESKTOPDIRECTORY, pidl
Public Function GetAllDrivers(ByRef arrAllDrivers() As String) As Boolean
Dim sTemp As String
Erase arrAllDrivers()
sTemp = String(MAX_LENGTH, Chr(0))
If GetLogicalDriveStrings(MAX_LENGTH, sTemp) Then
sTemp = Left(sTemp, InStrRev(sTemp, "\"))
arrAllDrivers = Split(sTemp, Chr(0))
'dim i as integer
'for i = 0 to ubound(arrAllDrivers)
' debug.print arrAllDrivers(i)
'next
GetAllDrivers = True
End If
End Function