我想监视当前打开的文件夹。如何枚举当前打开文件夹窗口的路径呢?请教!
我看了一个例子,如下如何用GetWindow函数来列举桌面上的窗口编号:QA001065
建立日期: 1999年5月28日 最后修改日期:1999年5月28日 
所属类别: Visual Basic - 窗体与菜单
Visual Basic - Windows API lauyh: 
    VB 
    Win98,nt 
    如何用GetWindow函数来列举桌面上的窗口? 回答:     我在1995年10期的《电子与电脑》杂志上发表了一篇文章《让窗口“浮出水面”》,其中对这个问题有详细的讨论,你可以找来一读。下面仅给出相关程序段: 
     Dim RenHWND As Integer, WinText As String * 256 
     t% = 0: lstWindows.Clear 
     RenHWND = GetWindow(frmTop.hWnd, GW_HWNDFIRST) 
     Do 
     i% = GetWindowText(RenHWND, WinText, 256) 
     If i% <> 0 Then 
     l% = GetWindowTextLength(RenHWND) 
     If Left$(WinText, l%) <> frmTop.Caption And Left$(WinText, l%) <> App.Title Then 
     lstWindows.AddItem WinText: ReDim Preserve winHWND(t%) As Integer 
     winHWND(t%) = RenHWND: t% = t% + 1 
     End If 
     End If 
     RenHWND = GetWindow(RenHWND, GW_HWNDNEXT) 
     Loop Until RenHWND = 0 
     lstWindows.ListIndex = 0 ---------------------------------------------------------------------------

解决方案 »

  1.   

    系统文件夹/窗口类:CabinetWClass用你那个例子改改应该可以了吧?
      

  2.   

    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Sub Command1_Click()
    Dim winHwd As Long
    Dim WinText As String * 256
      winHwd = FindWindow("CabinetWClass", vbNullString)
      GetWindowText winHwd, WinText, 256
      Print WinText
    End Sub
      

  3.   

    枚举所有的顶级窗口中的EDIT和COMBO类控件,以"C:\、D:\、E:\、F:\、G:\……"开头的就行了。
      

  4.   

    //枚举所有的顶级窗口中的EDIT和COMBO类控件,以"C:\、D:\、E:\、F:\、G:\……"开头的就行了呵呵,不用这么麻烦,用shell32.dll即可解决具体的晚些时候再说吧,现在太晚了:)
      

  5.   

    http://www.vb-helper.com/howto_list_shell_windows.html