gpt4 book ai didi

c# - 使用 shell API 重命名映射驱动器

转载 作者:可可西里 更新时间:2023-11-01 09:26:06 26 4
gpt4 key购买 nike

如何使用 Windows shell API 和 C# 更改映射驱动器的友好名称?我的实际问题是我正在处理一个没有 UNC 路径的断开连接的网络驱动器,因此重命名它的唯一方法是从资源管理器,但我想以编程方式进行。

最佳答案

我遇到了类似的问题,并使用以下代码解决了它:

Shell32.Shell shell = new Shell32.Shell();
((Shell32.Folder2)shell.NameSpace("X:")).Self.Name = "Friendly Label";

引用 COM --> Microsoft Shell 控件和自动化。它基本上是我拥有的旧 VBS 代码的 C# 表示

Set oShell = CreateObject("Shell.Application")
oShell.NameSpace("X:").Self.Name = "Friendly Label"

然而不同之处在于,出于某种原因,NameSpace 的 C# 实现返回 folder object。而所有 VB 实现似乎都返回 folder2 object .只有 folder2 具有“Self”属性,因此需要额外的转换。

此外,正如其中一条评论所指出的,这仅适用于 STA 单元,因此必须使用 [STAThread] 修饰 Main() 方法。

我希望回答这些老问题不是坏习惯,但我很沮丧,因为在任何地方都找不到解决这个问题的方法。

关于c# - 使用 shell API 重命名映射驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7079264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com