有时,网络驱动器已经Map到驱动器号,因为“断开连接”。使用正常的Windows功能访问该驱动器上的文件/文件夹失败。只要用户手动单击该驱动器,Windows资源管理器对话框,它就会神奇地修复。由于我的程序是一个批处理程序,我想从我的程序(C++)开始这个“魔术”,但我还没有找到一个Windows函数。
z9zf31ra1#
NET USE V: /DELETE NET USE V: "\\server1\videos" NET USE L: /DELETE NET USE L: "\\server2\archive"
字符串
t98cgbkg2#
插入路径后,您可以检查它是否是网络资源,并在打开文件之前使用WNetGetConnection()获取网络资源。您也可以尝试使用WNetRestoreConnectionW(),它似乎有更多的虚假支持,这取决于环境。
bihw5rsg3#
尝试通过net use重新连接到共享:
net use
net use \\server\folder [/user:[domain\]username] [password]
字符串如果这不起作用,您可以先net use /delete它,然后重新连接。
net use /delete
6qfn3psc4#
这不就是WNetAddConnection和WNetAddConnection2的作用吗?
kh212irz5#
我怀疑这其实是一回事。Explorer可能会在注册表中的某个地方缓存连接信息。当用户试图转到该驱动器时,Explorer会看到Map断开,从注册表中读取连接信息,并重新创建连接。也许你可以在创建驱动器Map时尝试运行regmon,看看是否可以找出连接信息的缓存位置和方式。
ht4b089n6#
不久前,我在一个客户端遇到了这个问题。我不知道在你的情况下是否可能,但我们的解决方案是调整服务器的网络设置来停止超时和断开连接。有关详细信息,请参阅MSKB 297684。
lb3vh1jj7#
我同意上面来自CMB的评论。我过去一直沿着这条路走(请原谅双关语),它给我带来了无尽的麻烦。如果路径是用户可配置的,则可以使用m:\pathonserver或\server\c\pathonserver。这不会对您的代码产生任何影响,打开文件时使用m:\blahdeblah.dat或\server\c\blahdeblah.dat将是相同的。使用路径是更可靠的,Windows将自动重新连接到该路径是否Map的字母在那里。
1tuwyuhd8#
如果您将驱动器Map到网络共享,则Map的驱动器可能会在定期不活动后断开连接,并且Windows资源管理器可能会在Map驱动器的图标上显示红色“X”。但是,如果您尝试访问或浏览Map的驱动器,则它会快速重新连接。要避免此行为,请使用以下命令:第一个月Microsoft对此主题的解释:https://support.microsoft.com/da-dk/help/297684/mapped-drive-connection-to-network-share-may-be-lost
8条答案
按热度按时间z9zf31ra1#
字符串
t98cgbkg2#
插入路径后,您可以检查它是否是网络资源,并在打开文件之前使用WNetGetConnection()获取网络资源。
您也可以尝试使用WNetRestoreConnectionW(),它似乎有更多的虚假支持,这取决于环境。
bihw5rsg3#
尝试通过
net use
重新连接到共享:字符串
如果这不起作用,您可以先
net use /delete
它,然后重新连接。6qfn3psc4#
这不就是WNetAddConnection和WNetAddConnection2的作用吗?
kh212irz5#
我怀疑这其实是一回事。Explorer可能会在注册表中的某个地方缓存连接信息。当用户试图转到该驱动器时,Explorer会看到Map断开,从注册表中读取连接信息,并重新创建连接。也许你可以在创建驱动器Map时尝试运行regmon,看看是否可以找出连接信息的缓存位置和方式。
ht4b089n6#
不久前,我在一个客户端遇到了这个问题。我不知道在你的情况下是否可能,但我们的解决方案是调整服务器的网络设置来停止超时和断开连接。有关详细信息,请参阅MSKB 297684。
lb3vh1jj7#
我同意上面来自CMB的评论。我过去一直沿着这条路走(请原谅双关语),它给我带来了无尽的麻烦。
如果路径是用户可配置的,则可以使用m:\pathonserver或\server\c\pathonserver。
这不会对您的代码产生任何影响,打开文件时使用m:\blahdeblah.dat或\server\c\blahdeblah.dat将是相同的。
使用路径是更可靠的,Windows将自动重新连接到该路径是否Map的字母在那里。
1tuwyuhd8#
如果您将驱动器Map到网络共享,则Map的驱动器可能会在定期不活动后断开连接,并且Windows资源管理器可能会在Map驱动器的图标上显示红色“X”。但是,如果您尝试访问或浏览Map的驱动器,则它会快速重新连接。
要避免此行为,请使用以下命令:
第一个月
Microsoft对此主题的解释:
https://support.microsoft.com/da-dk/help/297684/mapped-drive-connection-to-network-share-may-be-lost