c# network login

c#, networking

Solution

P/Invoke call to WNetAddConnection2 will do the trick. Look here for more info.

[DllImport("mpr.dll")]
 public static extern int WNetAddConnection2A
 (
      [MarshalAs(UnmanagedType.LPArray)] NETRESOURCEA[] lpNetResource,
      [MarshalAs(UnmanagedType.LPStr)] string lpPassword,
      [MarshalAs(UnmanagedType.LPStr)] string UserName, int dwFlags
 );

Problem

How do I perform a network login, to access a shared driver for instance, programmatically in c#? The same can be achieved by either attempting to open a share through the explorer, or by the net use shell command.

Original source