Avatar of mcsdguyian
mcsdguyianFlag for United States of America asked on

.NET Networking Mapping

I need to be able to map some networked drives as persistent and then verify they are mapped.  I also need to change a Drive letter from D: to Y: and verify that happens.  All needs to be done with preferably with VB.NET using VS2010

Thanks
Ian
Visual Basic.NETVisual C++.NET.NET Programming

Avatar of undefined
Last Comment
mcsdguyian

8/22/2022 - Mon
David L. Hansen

Use a batch file (use the following line to create the mapping):
net use x: \\YourPath password /USER:myAccount

Open in new window


This VB code will fire it off:
Dim process As Process = Process.Start(psi)

Open in new window

ASKER
mcsdguyian

I am actually trying to get away from using the batch file.  This is what I have in place already. I have no way to verify the the mapping happens and it does not always map even though it runs through the code.

I am using the following code to map and unmap the drive:

 Public Function MapDrive(ByVal DriveLetter As String, ByVal UNCPath As String) As Boolean

        Dim nr As NETRESOURCE
        Dim Username As String
        Dim Password As String

        nr = New NETRESOURCE
        nr.lpRemoteName = UNCPath
        nr.lpLocalName = DriveLetter & ":"
        Username = Nothing '(add parameters to pass this if necessary)
        Password = Nothing '(add parameters to pass this if necessary)
        nr.dwType = RESOURCETYPE_DISK

        Dim result As Integer
        result = WNetAddConnection2(nr, Password, Username, 0)

        If result = 0 Then
            Return True
        Else
            Return False
        End If
    End Function

    Public Function UnMapDrive(ByVal DriveLetter As String) As Boolean
        Dim rc As Integer

        rc = WNetCancelConnection2(DriveLetter, 0, ForceDisconnect)

        If rc = 0 Then
            Return True
        Else
            Return False
        End If

    End Function

The problem I am having though is I need to verify the connection outside of this code. Such as D: = \\folder1\temp\ Versus \\folder2\temp

I also need to figure how to change drive letters  

Ian
ASKER CERTIFIED SOLUTION
David L. Hansen

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
ASKER
mcsdguyian

How am I to verify I am connected to where I need to be?  Also how would I change a Drive letter from a batch file?
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy