Solved

How to map a network drive in vb .net

Posted on 2007-12-03
6
9,024 Views
Last Modified: 2013-11-26
I wrote the below code to map a network drive to another server:

 Try
            Dim storefile As System.IO.Directory
            Dim directory As String
            Dim files As String()
            Dim File As String

            files = storefile.GetFiles("\\" & DropDownList1.SelectedItem.Value & "\Y$\Checkpoints", "*")

            For Each File In files
                Label21.Text += (File & "<BR>")
            Next

        Catch ex As System.Exception
            Label9.Text = ex.Message
        End Try

The error message I'm getting Access to the path "\\YKCM1S1\Y$\Checkpoints" is denied. The path exist on the other server. How can I get around this? Thanks
0
Comment
Question by:redouard
6 Comments
 
LVL 12

Expert Comment

by:weareit
ID: 20397888
Is Y$ an actual share on the server?

It seems as if you are trying to map to a network drive, if so then you cannot do this.  Y$ signifies an administrative share or a hidden share of a local drive on the target server.

-saige-
0
 

Author Comment

by:redouard
ID: 20397934
Okay, now I removed the Y$ and nothing is happening?
0
 
LVL 12

Expert Comment

by:weareit
ID: 20397954
On the target server what is the share that you are attempting to attatch to?

-saige-
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 125 total points
ID: 20398463
Here is a class that will let you map to a network share:
' Add a COM reference to Windows Script Host Object Model.
 

Imports IWshRuntimeLibrary

Imports System.Runtime.InteropServices
 

Public Class NetworkDriveMapper
 

  Public Shared Sub MapDrive(ByVal driveLetter As String, _

   ByVal networkPath As String, ByVal isPersistent As Boolean)
 

    ' Create a new shell object.

    Dim networkShell As New WshNetwork
 

    Try
 

      ' Disconnect the drive first, forcing a permanent change.

      DisconnectDrive(driveLetter, True, True)
 

      ' Map the drive to the path.

      networkShell.MapNetworkDrive(driveLetter, networkPath, Convert.ToBoolean(isPersistent))
 

    Finally
 

      If Not networkShell Is Nothing Then

        Marshal.ReleaseComObject(networkShell)
 

        networkShell = Nothing
 

      End If
 

    End Try
 

  End Sub
 

  Public Shared Sub DisconnectDrive(ByVal driveLetter As String, _

    ByVal willForce As Boolean, ByVal isPersistent As Boolean)
 

    ' Create a new shell object.

    Dim networkShell As New WshNetwork
 

    If IO.Directory.Exists(driveLetter) Then
 

      Try
 

        networkShell.RemoveNetworkDrive(driveLetter, Convert.ToBoolean(willForce), _

            Convert.ToBoolean(isPersistent))
 

      Finally
 

        If Not networkShell Is Nothing Then

          Marshal.ReleaseComObject(networkShell)
 

          networkShell = Nothing
 

        End If
 

      End Try
 

    End If
 

  End Sub
 

End Class

Open in new window

0
 
LVL 1

Expert Comment

by:Computer101
ID: 20591189
Forced accept.

Computer101
EE Admin
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now