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