Click here to Skip to main content
15,879,535 members
Articles / Programming Languages / C#
Article

Map Network Drive (API)

Rate me:
Please Sign up or sign in to vote.
4.64/5 (65 votes)
18 May 2004CC (ASA 2.5)1 min read 626.5K   21.2K   139   117
Class for interfacing to the "map network drive" windows interface

Image - netdrive0015.jpg

What does it do?

This is a class for interfacing with windows map network drive API's.

Introduction to the class...

  • Getting started

    Add the class file "cNetworkDrives0015.cs" to your project / solution.
    Add the "using" definition to your form, etc.
    C#
    using aejw.Network;
  • Example (Mapping a network drive)

    C#
    NetworkDrive oNetDrive = new aejw.Network.NetworkDrive();
    try{
       oNetDrive.LocalDrive = "m:";
       oNetDrive.ShareName = "\\ComputerName\Share"
       oNetDrive.MapDrive();
    }catch(Exception err){
       MessageBox.Show(this,"Error: "+err.Message);
    }
    oNetDrive = null;
    
  • Example (Unmapping a network drive)

    C#
    NetworkDrive oNetDrive = new aejw.Network.NetworkDrive();
    try{
       oNetDrive.LocalDrive = "m:";
       oNetDrive.UnMapDrive();
    }catch(Exception err){
       MessageBox.Show(this,"Error: "+err.Message);
    }
    oNetDrive = null;
    

Username and Password functions...

The following examples require the object / class to be declared.
C#
cNetworkDrive oNetDrive = new cNetworkDrive();
  • Mapping a network drive

    • C#
      //Map drive with current user credentials
      oNetDrive.LocalDrive = "m:";
      oNetDrive.ShareName = "\\ComputerName\Share1"
      oNetDrive.MapDrive();
    • C#
      //Map drive with specified user credentials
      oNetDrive.LocalDrive = "m:";
      oNetDrive.ShareName = "\\ComputerName\Share1"
      oNetDrive.MapDrive("Bob_Username","Bob_Password");
    • C#
      //Map drive with and prompt user for credentials
      oNetDrive.LocalDrive = "m:";
      oNetDrive.ShareName = "\\ComputerName\Share1"
      oNetDrive.PromptForCredentials = true;
      oNetDrive.MapDrive();
    • C#
      //Map drive using a persistent connection
      oNetDrive.LocalDrive = "m:";
      oNetDrive.Persistent = true;
      oNetDrive.SaveCredentials = true;
      oNetDrive.ShareName = "\\ComputerName\Share1"
      oNetDrive.MapDrive("Bob_Username","Bob_Password");
  • Unmapping a network drive

    • C#
      //Unmap a network connection
      oNetDrive.LocalDrive = "m:";
      oNetDrive.ShareName = "\\ComputerName\Share1"
      oNetDrive.UnMapDrive();
    • C#
      //Unmap a network connection ignoring network related errors
      oNetDrive.LocalDrive = "m:";
      oNetDrive.Force = true;
      oNetDrive.ShareName = "\\ComputerName\Share1"
      oNetDrive.UnMapDrive();
  • Other functions

    • C#
      //Display windows connection dialog
      oNetDrive.ShowConnectDialog(this);
      //Display windows disconnection dialog
      oNetDrive.ShowDisconnectDialog(this);
    • C#
      //Restore all persistent connections
      oNetDrive.RestoreDrives();

History

  • 14th May 2004 - build0015
    • LocalDrive and ShareName are now properties.
    • Dialog functions now use a form object instead of a window handle.
    • Renaming scheme for public functions and properties, MapNetworkDrive(...) is now MapDrive(...), etc...
    • Added Persistant option, Used for reconnecting a drive at logon.
    • Added SaveCredentials option, Allows windows to remember the user credentials when reconnecting a persistent connection.
    • Added Force option, for MapDrive calls, if a drive is connected it will disconnect that drive then reconnect to the new share.
    • Added PromptForCredintals option, for MapDrive calls, windows will ask for a username and password to use with the connection.
    • Added RestoreDrives function that restores persistent connections.
  • 30th April 2004 - build0012
    • Code refinements and tidying, added comments to the class.
  • 27th April 2004 - build0011
    • Adjusted declare tags, tidied class and article
  • 26th April 2004 - build0010
    • First version posted online

License

This article, along with any associated source code and files, is licensed under The Creative Commons Attribution-ShareAlike 2.5 License


Written By
Web Developer
New Zealand New Zealand
C#, VB.net (Web and forms), SQL Server, MySQL, ASP, Win32 API, ...
Site: aejw.com

Comments and Discussions

 
QuestionNetwork Map Question Pin
Member 159058231-Feb-23 3:51
Member 159058231-Feb-23 3:51 
QuestionConnecting to web-server Pin
Member 80103946-Sep-14 8:55
Member 80103946-Sep-14 8:55 
NewsI mentioned you! Pin
Antonio Petricca3-Oct-13 23:37
Antonio Petricca3-Oct-13 23:37 
QuestionHow Do I determine whether the specified drive is currently connected or not Pin
Prashant Bangaluru8-May-13 3:29
Prashant Bangaluru8-May-13 3:29 
Questionpublished version? Pin
fanff30001-Jan-13 18:05
fanff30001-Jan-13 18:05 
QuestionYour help needed Pin
Steve Ween2-Nov-12 13:17
Steve Ween2-Nov-12 13:17 
Questionaejw network Pin
tari_mrv1-Oct-12 2:18
tari_mrv1-Oct-12 2:18 
QuestionAsking for credentials even if I supply them in Windows 7. Pin
Mike Miller9-Aug-12 12:27
Mike Miller9-Aug-12 12:27 
QuestionLatest version Pin
jeremycafe111129-Apr-12 3:09
jeremycafe111129-Apr-12 3:09 
QuestionUnused drive letter Pin
Ross Chang31-Oct-11 18:47
Ross Chang31-Oct-11 18:47 
QuestionSite Pin
nenadvuckovic24-Oct-11 3:48
nenadvuckovic24-Oct-11 3:48 
Questionfor vb6 Pin
afdoal18-Sep-11 1:30
afdoal18-Sep-11 1:30 
Questiondoes not work under win7 limited account Pin
xRayen13-Sep-11 4:13
xRayen13-Sep-11 4:13 
QuestionError in using Map network drive API Pin
k.parvez31-Mar-11 21:14
k.parvez31-Mar-11 21:14 
GeneralMy vote of 5 Pin
Julijan Sribar17-Jan-11 23:02
Julijan Sribar17-Jan-11 23:02 
GeneralMy vote of 5 Pin
emirucan10-Jan-11 0:15
emirucan10-Jan-11 0:15 
GeneralThank you!!! Pin
Guillermo Toro8-Dec-10 13:17
Guillermo Toro8-Dec-10 13:17 
GeneralLast version Pin
Member 60274910-Feb-10 6:11
Member 60274910-Feb-10 6:11 
GeneralRe: Last version Pin
FaxedHead27-Feb-10 21:45
FaxedHead27-Feb-10 21:45 
GeneralRe: Last version Pin
Member 6027491-Mar-10 7:40
Member 6027491-Mar-10 7:40 
GeneralNew Version 0028 Pin
Tim Gladney5-Feb-10 3:42
Tim Gladney5-Feb-10 3:42 
Generalthankssssssss Pin
Member 28813132-Feb-10 0:01
Member 28813132-Feb-10 0:01 
QuestionHow do you expand a mapped drive? Pin
SparkyNZ26-Nov-09 8:30
SparkyNZ26-Nov-09 8:30 
GeneralThis is an old version Pin
Yvan Rodrigues4-Nov-09 15:33
professionalYvan Rodrigues4-Nov-09 15:33 
GeneralLPT bug Pin
dmageiras11-Jun-09 1:09
dmageiras11-Jun-09 1:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.