打印本文 打印本文 关闭窗口 关闭窗口
VB.NET下通过WMI共享文件夹
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3526  更新时间:2009/4/23 19:00:36  文章录入:mintao  责任编辑:mintao
description, password, Nothing}), CultureInfo.InvariantCulture)

                Else

                    res = Convert.ToInt32( _
                        shareClass.InvokeMethod("Create", _
                        New Object() {path, name, type, maximumAllowed, description, password, Nothing}), CultureInfo.InvariantCulture)

                End If

                If res <> 0 Then ThrowException(res)

                Return GetShare(computerName, name)

            Finally

                shareClass.Dispose()

            End Try

        End Function

        '''''''''''' -----------------------------------------------------------------------------
        '''''''''''' <summary>
        '''''''''''' Returns a NetShare object that represents the shared resource in the
        '''''''''''' specified computer.
        '''''''''''' </summary>
        '''''''''''' <history>
        '''''''''''' [Eduardo Morcillo] 11/08/2004 Created
        '''''''''''' </history>
        '''''''''''' -----------------------------------------------------------------------------
        Public Shared Function GetShare(ByVal computerName As String, ByVal shareName As String) As NetShare

            Dim share As ManagementObject

            share = New ManagementObject(String.Format("\\{0}\root\cimv2:Win32_Share.Name=""{1}""", computerName, shareName))
            share.Get()

            Return New NetShare(share)

        End Function

        '''''''''''' -----------------------------------------------------------------------------
        '''''''''''' <summary>
        '''''''''''' Returns a NetShare object that represents the shared resource.
        '''''''''''' </summary>
        '''''''''''' <history>
        '''''''''''' [Eduardo Morcillo] 11/08/2004 Created
        '''''''''''' </history>
        '''''''''''' -----------------------------------------------------------------------------
        Public Shared Function GetShare(ByVal shareName As String) As NetShare

            Return GetShare(".", shareName)

        End Function

        '''''''''''' -----------------------------------------------------------------------------
        '''''''''''' <summary>
        '''''''''''' Returns the names of shared resources in the specified computer.
        '''''''''''' </summary>
        '''''''''''' <history>
        '''''''''''' [Eduardo Morcillo] 11/08/2004 Created
        '''''''''''' </history>
        '''''''''''' -----------------------------------------------------------------------------
        Public Shared Function GetShares(ByVal computername As String) As String()

            '''' Get the Win32_Share class
            Dim shareClass As New System.Management.ManagementClass(String.Format("\\{0}\root\cimv2:Win32_Share", computername))
            Dim shares As ManagementObjectCollection

            Try

                Dim shareNames As New ArrayList

                '''' Get the Win32_Share instances
                shares = shareClass.GetInstances

                '''' Enumerate all instances
                For Each share As ManagementObject In shares

                    Try

                        '''' Add the name to the list
                        shareNames.Add(share.GetPropertyValue("Name"))

                    Finally

                        '''' Release the WMI object
                        share.Dispose()

                    End Try

                Next

                '''' Return the list as an array
                Return DirectCast(shareNames.ToArray(GetType(String)), String())

            Finally

                '''' Release the WMI object
                shareClass.Dispose()

            End Try

        End Function

        '''''''''''' -----------------------------------------------------------------------------
        '''''''''''' <summary>
        '''''''''''' Returns the names of shared resources in the local computer.
        '''''''''''' </summary>
        '''''''''''' <returns></returns>
        '''''''''''' <remarks>
        '''''''''''' </remarks>
        '''''''''''' <history>
        '''''''''''' [Eduardo Morcillo] 11/08/2004 Created
        '''''''''''' </history>
        '''''''''''' -----------------------------------------------------------------------------
        Public Shared Function GetShares() As String()
            Return GetShares(".")
        End Function

        '''''''''''' -----------------------------------------------------------------------------
        '''''''''''' <summary>
        '''''''''''' Stops sharing the folder.
        '''''''''''' </summary>
        '''''''''''' <history>
        '''''''''''' [Eduardo Morcillo] 11/08/2004 Created
     

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口