0

ローカルマシン上のリモートマシンのディレクトリを表示するツリービュー構造を構築しています。ローカルマシンでディレクトリを表示する場合は機能しますが、リモートマシンでは機能しません。

ここにコードがあります、誰かがこれをリモートマシンで動作させる方法を教えてくれたら嬉しいです

Imports System.IO
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Linq
Imports System.Drawing
Imports System.Data

Public Class GPSTestAuto
Private mRootPath() As String = Directory.GetFileSystemEntries("\\192.168.0.35\Test Drive\ULTS\")
    Property RootPath As String
        Get
            Return mRootPath(0)
        End Get
        Set(value As String)
            mRootPath(0) = value
        End Set
    End Property
    Private Sub GPSTestAuto_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Dim mRootNode As New TreeNode
        mRootNode.Text = RootPath
        mRootNode.Tag = RootPath

        mRootNode.Nodes.Add("*DUMMY*")
        TreeView1.Nodes.Add(mRootNode)

    End Sub
    Private Sub TreeView1_BeforeCollapse(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeCollapse
        ' clear the node that is being collapsed
        e.Node.Nodes.Clear()
        ' add a dummy TreeNode to the node being collapsed so it is expandable
        e.Node.Nodes.Add("*DUMMY*")
    End Sub

    Private Sub TreeView1_BeforeExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeExpand
        ' clear the expanding node so we can re-populate it, or else we end up with duplicate nodes
        e.Node.Nodes.Clear()
        ' get the directory representing this node
        Dim mNodeDirectory As IO.DirectoryInfo
        mNodeDirectory = New IO.DirectoryInfo(e.Node.Tag.ToString)
        ' add each subdirectory from the file system to the expanding node as a child node
        For Each mDirectory As IO.DirectoryInfo In mNodeDirectory.GetDirectories
            ' declare a child TreeNode for the next subdirectory
            Dim mDirectoryNode As New TreeNode
            ' store the full path to this directory in the child TreeNode's Tag property
            mDirectoryNode.Tag = mDirectory.FullName
            ' set the child TreeNodes's display text
            mDirectoryNode.Text = mDirectory.Name
            ' add a dummy TreeNode to this child TreeNode to make it expandable
            mDirectoryNode.Nodes.Add("*DUMMY*")
            ' add this child TreeNode to the expanding TreeNode
            e.Node.Nodes.Add(mDirectoryNode)
        Next
    End Sub
End Class
4

1 に答える 1

1

あなたの質問は少し前のの質問に関連していると思いますが、これはセキュリティ上の制限によるものです。リモート マシンで同じユーザー アカウントを作成する必要があります。コードが Web アプリケーションにある場合は、ローカル アカウントを使用する WindowsImpersonationContext にラップする必要があります。私はこれを機能させましたが、必要以上に複雑です。

この質問への回答は、私が解決策を見つけるのに最も役立ちました。

于 2012-10-02T02:28:33.110 に答える