C#网络登录

时间:2020-03-06 14:59:05  来源:igfitidea点击:

如何在c#中以编程方式执行网络登录以访问共享驱动程序?可以通过尝试通过资源管理器打开共享或者通过net use shell命令来实现相同目的。

解决方案

我们需要使用Windows身份模拟,看看这些链接
http://blogs.msdn.com/shawnfa/archive/2005/03/21/400088.aspx
http://blogs.msdn.com/saurabhkv/archive/2008/05/29/windowsidentity-impersonation-using-c-code.aspx

P / Invoke调用WNetAddConnection2可以解决问题。在这里查看更多信息。

[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
 );