当连接到当前用户(在本例中为启用网络的服务用户)没有权限的网络共享时,必须提供名称和密码。
我知道如何使用Win32函数(WNet*来自的家族mpr.dll)来执行此操作,但想使用.Net(2.0)功能来执行此操作。
WNet*
mpr.dll
有哪些选项可用?
也许更多信息可以帮助您:
您可以更改线程身份,或P /调用WNetAddConnection2。我更喜欢后者,因为有时我需要为不同的位置维护多个凭据。我将其包装到IDisposable中,然后调用WNetCancelConnection2以删除凭据(避免出现多个用户名错误):
using (new NetworkConnection(@"\\server\read", readCredentials)) using (new NetworkConnection(@"\\server2\write", writeCredentials)) { File.Copy(@"\\server\read\file", @"\\server2\write\file"); }