tags:

views:

83

answers:

3

How can I map a network drive using C#. I don't want to use net use or any third party API.

Heard about UNC paths in C# code but not quite sure how to go about it.

A: 

Take a look @ the NetShareAdd Windows' API. You'll need to use PInvoke to get your hands on it, of course.

Will A
`NetShareAdd` creates a share. The question is about how to map an existing share.
Martin Liversage
+5  A: 

Use the WnetAddConnection functions available in the native mpr.dll.

You will have to write the P/Invoke signatures and structures to call through to the unmanaged function. You can find resources on P/Invoke on pinvoke.net. This is the signature for WNetAddConnection2 on pinvoke.net:

[DllImport("mpr.dll")]    
public static extern int WNetAddConnection2(ref NETRESOURCE netResource,
   string password, string username, int flags);

http://pinvoke.net/default.aspx/mpr.WNetAddConnection2

fletcher
A: 

There is no standard feature in .net to map networkdrives but you can find a good wrapper here if you dont want to execute the Native calls by yourself: http://www.codeguru.com/csharp/csharp/cs_network/windowsservices/article.php/c12357

Wouter Janssens - Xelos bvba