Ali Hojjati Ответов: 1

Получить все открытые папки в проводнике


Как получить список открытых папок и каталогов в проводнике windows во всех версиях windows от 7 до 10?
в C# или VB.Net

Что я уже пробовал:

<pre>Imports Shell32 ' Add reference browse C:\Windows\System32\Shell32.dll or com Microsoft Shell Controls and Automation

'http://xkom.blogspot.com/2011/06/get-opened-folder-location-in-explorer.html

Public Class Form1

    Dim Lb As New ListBox

    Dim WithEvents RoutineTimer As New Timer

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Lb.Parent = Me
        Lb.Dock = DockStyle.Fill
        Me.Text = "Opened Folder by user (explorer)"
        RoutineTimer.Interval = 1000
        RoutineTimer.Start()

    End Sub

    Sub GetOpenedFolder()

        Dim MShell As New Shell
        Dim SFV As ShellFolderView

        Lb.Items.Clear()
        On Error Resume Next
        For Each o In MShell.Windows
            If TypeName(o.document) <> "HTMLDocument" Then
                SFV = o.document
                If SFV.Folder.Items.Count > 0 Then
                    Lb.Items.Add(TrimPath(CType(SFV.Folder.Items(0), ShellFolderItem).Path))
                End If
            End If
        Next

    End Sub

    Sub Timer_Job() Handles RoutineTimer.Tick
        GetOpenedFolder()
    End Sub

    Function TrimPath(ByRef s As String) As String
        Return s.Remove(InStrRev(s, "\"))
    End Function

End Class


Я использовал это в windows 7, но не работал в windows 10

BillWoodruff

Опишите, как это "не работает." Сообщение об ошибке ? Никакого результата ? Странный результат ?

1 Ответов