共享了没有?
是不是这个?
Option Explicit
' form 中 一个cmdLocation command和一个txtPath text
  
'程序如下:
Private Sub cmdLocation_Click() '为 command
Dim LocDir As BROWSEINFO
Dim RetVal As Boolean, PidLoc As Long
Dim Path As String
Dim Pos As Integer
    LocDir.hOwner = Me.hWnd
    LocDir.lpszTitle = "请选择一个目录:"
    LocDir.ulFlags = BIF_RETURNONLYFSDIRS
    'PidLoc是一个返回值,指向用户定位的目录对应的ID,还不是目录
    PidLoc = SHBrowseForFolder(LocDir)
    Path = Space(512)
    '用SHGetPathFromIDList()API把PidLoc对应的ID转换成对应的目录
    RetVal = SHGetPathFromIDList(ByVal PidLoc, ByVal Path)
    If RetVal Then
        '去掉后面多余的ASCII码为0的字符
        Pos = InStr(Path, Chr$(0))
        'txtPath就是要求输入路径的那个文本框
        txtPath.Text = Left(Path, Pos - 1)
        txtPath.SetFocus
    End If
End Sub' bas 中
Option ExplicitPublic Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long'可见只有一个参数BROWSEINFO,这是一个类型,定义如下:
    Public Type BROWSEINFO
        hOwner As Long
        pidlRoot As Long
        pszDisplayName As String
        lpszTitle As String
        ulFlags As Long
        lpfn As Long
        lParam As Long
        iImage As Long
    End Type'hOwner是父窗口的hWnd
'lpszTitle是显示在该窗口上方的提示文字标题
'ulFlags是设置显示的是什么类型,这里设置为显示文件目录系统
'pidlRoot为NULL(不设置任何值的时候)表示从桌面开始显示,即显示所有磁盘,包括网上邻居……
'PidLoc是返回值,表示用户选择的目录对应的ID
'这个ID还要用SHGetPathFromIDList()API转换为对应的目录才能用'SHGetPathFromIDList()API的申明如下:
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long'另外还要申明一些常量,用于ulFlags的设置:
Public Const BIF_RETURNONLYFSDIRS = &H1  '<---我用的是这个,显示所有磁盘……
Public Const BIF_DONTGOBELOWDOMAIN = &H2
Public Const BIF_STATUSTEXT = &H4
Public Const BIF_RETURNFSANCESTORS = &H8
Public Const BIF_BROWSEFORCOMPUTER = &H1000
Public Const BIF_BROWSEFORPRINTER = &H2000

解决方案 »

  1.   

    共享了没有?
    是不是这个?
    Option Explicit
    ' form 中 一个cmdLocation command和一个txtPath text
      
    '程序如下:
    Private Sub cmdLocation_Click() '为 command
    Dim LocDir As BROWSEINFO
    Dim RetVal As Boolean, PidLoc As Long
    Dim Path As String
    Dim Pos As Integer
        LocDir.hOwner = Me.hWnd
        LocDir.lpszTitle = "请选择一个目录:"
        LocDir.ulFlags = BIF_RETURNONLYFSDIRS
        'PidLoc是一个返回值,指向用户定位的目录对应的ID,还不是目录
        PidLoc = SHBrowseForFolder(LocDir)
        Path = Space(512)
        '用SHGetPathFromIDList()API把PidLoc对应的ID转换成对应的目录
        RetVal = SHGetPathFromIDList(ByVal PidLoc, ByVal Path)
        If RetVal Then
            '去掉后面多余的ASCII码为0的字符
            Pos = InStr(Path, Chr$(0))
            'txtPath就是要求输入路径的那个文本框
            txtPath.Text = Left(Path, Pos - 1)
            txtPath.SetFocus
        End If
    End Sub' bas 中
    Option ExplicitPublic Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long'可见只有一个参数BROWSEINFO,这是一个类型,定义如下:
        Public Type BROWSEINFO
            hOwner As Long
            pidlRoot As Long
            pszDisplayName As String
            lpszTitle As String
            ulFlags As Long
            lpfn As Long
            lParam As Long
            iImage As Long
        End Type'hOwner是父窗口的hWnd
    'lpszTitle是显示在该窗口上方的提示文字标题
    'ulFlags是设置显示的是什么类型,这里设置为显示文件目录系统
    'pidlRoot为NULL(不设置任何值的时候)表示从桌面开始显示,即显示所有磁盘,包括网上邻居……
    'PidLoc是返回值,表示用户选择的目录对应的ID
    '这个ID还要用SHGetPathFromIDList()API转换为对应的目录才能用'SHGetPathFromIDList()API的申明如下:
    Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long'另外还要申明一些常量,用于ulFlags的设置:
    Public Const BIF_RETURNONLYFSDIRS = &H1  '<---我用的是这个,显示所有磁盘……
    Public Const BIF_DONTGOBELOWDOMAIN = &H2
    Public Const BIF_STATUSTEXT = &H4
    Public Const BIF_RETURNFSANCESTORS = &H8
    Public Const BIF_BROWSEFORCOMPUTER = &H1000
    Public Const BIF_BROWSEFORPRINTER = &H2000
      

  2.   

    SQL SERVER 是有一个程序在SERVER运行,然后enterprise manager 可以管理, 你的呢?
    如果可以这样的话,还要网络邻居干什么?