现在的例子是Form_Onlond 调用模块里的GetFaves 函数
GetFaves Me 传递窗口过去
动态加载菜单栏 Favorites 
单击列表收藏夹。我想现实点击按钮Command1把收藏列表在Command1下。
谢谢帮忙。例子下载:www.my1982.com/Ex.Rar我Q:23638564
Eamil:[email protected]谢谢帮忙~~

解决方案 »

  1.   

    Private Sub cmdOrgFavorite_Click()
        Dim lpszRootFolder As String
        Dim lpszPath As String
        Dim dwReturn As Long
        
        lpszPath = Space$(256)
        
        dwReturn = SHGetFolderPath(Me.hWnd, _
                            CSIDL_FAVORITES, _
                            0&, &H0, lpszPath)
        
        If dwReturn = 0 Then
            lpszRootFolder = Left$(lpszPath, InStr(lpszPath, vbNullChar) - 1)
        End If
        
        DoOrganizeFavDlg hWnd, lpszRootFolder
    End Sub' 秨﹍\祘Α栋
    Public Const CSIDL_PROGRAMS = &H2
    ' My Documents
    Public Const CSIDL_PERSONAL = &H5
    ' {ㄏノ}\и程稲 Windows NT
    Public Const CSIDL_FAVORITES = &H6
    ' 秨﹍\祘Α栋\币笆
    Public Const CSIDL_STARTUP = &H7
    ' {ㄏノ}\秨﹍ Windows NT
    Public Const CSIDL_STARTMENU = &HB
    ' {ㄏノ}\ Windows NT
    Public Const CSIDL_DESKTOPDIRECTORY = &H10
    ' {Windows}\ShellNew
    Public Const CSIDL_TEMPLATES = &H15
    ' All Users\秨﹍ Windows NT
    Public Const CSIDL_COMMON_STARTMENU = &H16
    ' All Users\祘Α栋 Windows NT
    Public Const CSIDL_COMMON_PROGRAMS = &H17
    ' All Users\币笆 Windows NT
    Public Const CSIDL_COMMON_STARTUP = &H18
    ' All Users\ Windows NT
    Public Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19
    ' {Windows}\Application Data
    Public Const CSIDL_APPDATA = &H1A
    ' All Users\и程稲 Windows NT
    Public Const CSIDL_COMMON_FAVORITES = &H1F
    ' All Users\Application Data Windows NT
    Public Const CSIDL_COMMON_APPDATA = &H23Public Declare Function DoOrganizeFavDlg Lib "shdocvw.dll" _
        (ByVal hWnd As Long, _
        ByVal lpszRootFolder As String) As LongPublic Declare Function SHGetFolderPath Lib "shfolder.dll" _
        Alias "SHGetFolderPathA" _
        (ByVal hwndOwner As Long, _
        ByVal nFolder As Long, _
        ByVal hToken As Long, _
        ByVal dwReserved As Long, _
        ByVal lpszPath As String) As Long