有时网络驱动器已映射到驱动器盘符,因为“已断开连接”。使用常规Windows功能访问该驱动器上的文件/文件夹失败。只要用户手动点击该驱动器,就可以使用Windows资源管理器对话框,它会被神奇地修复。
由于我的程序是一个批处理程序,我想从我的程序(C ++)开始这个“魔术”,但我还没有找到一个Windows函数。通常的WNet中没有任何东西......功能......
答案 0 :(得分:1)
NET USE V: /DELETE
NET USE V: "\\server1\videos"
NET USE L: /DELETE
NET USE L: "\\server2\archive"
答案 1 :(得分:1)
插入路径后,您可以检查它是否是网络资源,在打开文件之前,请使用WNetGetConnection()获取网络资源。
您也可以尝试使用WNetRestoreConnectionW(),这似乎有更多的虚假支持,具体取决于环境。
答案 2 :(得分:0)
尝试通过net use
重新连接到共享:
net use \\server\folder [/user:[domain\]username] [password]
如果这不起作用,您可以先net use /delete
,然后重新连接。
答案 3 :(得分:0)
这不是WNetAddConnection和WNetAddConnection2的用途吗?
答案 4 :(得分:0)
答案 5 :(得分:0)
我不久前在我的客户那里遇到了麻烦。我不知道在你的情况下是否可能,但我们的修复是调整服务器的网络设置以停止超时和断开连接。有关详细信息,请参阅MSKB 297684。
答案 6 :(得分:0)
我同意上述CMB的意见。我过去一直沿着这条路走下去(请原谅双关语),这让我没有遇到麻烦。
如果路径是用户可配置的,则可以使用m:\ pathonserver,也可以使用\ server \ c \ pathonserver。
它对您的代码没有任何影响,打开文件为m:\ blahdeblah.dat或\ server \ c \ blahdeblah.dat将是相同的。
使用UNC路径更加可靠,无论映射的字母是否存在,Windows都会自动重新连接到该路径。
答案 7 :(得分:0)
如果将驱动器映射到网络 共享,映射的驱动器可能会在固定间隔后断开连接 处于非活动状态,并且Windows资源管理器可能在图标上显示红色的“ X” 映射的驱动器。但是,如果您尝试访问或浏览 映射的驱动器,它可以快速重新连接。
为避免此行为,请使用以下命令:
net config server /autodisconnect:-1
Microsoft关于此主题的说明:
https://support.microsoft.com/da-dk/help/297684/mapped-drive-connection-to-network-share-may-be-lost