【发布时间】:2011-08-17 13:11:37
【问题描述】:
是否可以为网络驱动器映射(如使用 WNetAddConnection 函数或“映射网络驱动器...”GUI 创建的)提供一个不同于默认“
我尝试尝试使用 SetVolumeLabel,但这总是失败,而且我在 WNet API 中看不到任何指定显示标签的内容。
【问题讨论】:
标签: c++ windows winapi networking
是否可以为网络驱动器映射(如使用 WNetAddConnection 函数或“映射网络驱动器...”GUI 创建的)提供一个不同于默认“
我尝试尝试使用 SetVolumeLabel,但这总是失败,而且我在 WNet API 中看不到任何指定显示标签的内容。
【问题讨论】:
标签: c++ windows winapi networking
这不是一个 100% 的解决方案,但它更像是一个答案而不是评论......
如果您在 GUI 上重命名映射的网络驱动器(通过右键单击它并转到“重命名”),它会向注册表添加一个值。在各个站点(尤其是 this one)上进行了全面阅读,看起来 Windows 可能会偶尔自行删除此值,因此这可能不是永久解决方案...
我刚刚通过 regedit 手动完成,它在 GUI 中工作,所以我看不出它为什么不应该以编程方式工作
添加一个名为_LabelFromReg 的字符串值,其值可以是您希望标签成为注册表项的任何值
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##<server-name>#<share-name>
如果您已经创建了共享,则该密钥应该已经存在。
显然(请参阅上面的链接)然后您需要将该密钥设置为只读以防止操作系统随意更改它 - 我不知道您将如何以编程方式执行此操作,但我确信它可以完成。
我知道这个答案有很大的差距,但也许这是在正确的方向上戳?
【讨论】: