C#调用advapi32.dll,访问需要账号密码登录的共享文件夹里的文件
[DllImport("advapi32.DLL", SetLastError = true)] //Import advapi32.dll
//方法声明
public static extern int LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
//登录并读写文件
string userName = "共享文件夹登录账号";
string password = "共享文件夹登录密码";
IntPtr admin_token = default(IntPtr);
WindowsIdentity wid_admin = null;
WindowsImpersonationContext wic = null;
int result= LogonUser(userName, "共享文件夹主机名", password, 9, 0, ref admin_token);
if (result!= 0)
{
using (wid_admin = new WindowsIdentity(admin_token))
{
using (wic = wid_admin.Impersonate())
{
//登录成功
//对共享文件夹里的文件进行读写操作,路径即为共享文件路径
}
}
}