如何使用Windows shell API和C#更改映射驅動器的友好名稱?我的實際問題是,我正在處理沒有UNC路徑的退化網絡驅動器,因此重命名它的唯一方法是從資源管理器中,但我想以編程方式執行此操作。使用shell API重命名映射驅動器
3
A
回答
0
0
System.IO.DriveInfo有一個屬性VolumeLabel,它允許您更改捲上的標籤。檢查VolumeLabel上的例外和備註以查看重命名卷的要求。
它看起來像你不能直接重命名UNC,除非你將它映射爲網絡驅動器。您也可以創建UNC的快捷方式,並重命名它。
3
我有一個類似的問題,使用下面的代碼解決了這個問題:
Shell32.Shell shell = new Shell32.Shell();
((Shell32.Folder2)shell.NameSpace("X:")).Self.Name = "Friendly Label";
隨着對COM參考 - >微軟殼牌控制和自動化。 它基本上是一個古老的VBS代碼的C#表示我有
Set oShell = CreateObject("Shell.Application")
oShell.NameSpace("X:").Self.Name = "Friendly Label"
然而不同的是,由於某種原因,C#實現的命名空間返回folder object而所有VB實現似乎回到一個folder2 object。只有folder2具有'Self'屬性,所以需要額外的強制轉換。
另外,正如在其中一條評論中指出的那樣,這隻能在STA公寓內工作,所以Main()方法必須用[STAThread]裝飾。
我希望回答這樣的老問題不是壞習慣,但是我很沮喪地找不到解決方案。
相關問題
- 1. 映射網絡驅動器
- 2. 如何使用PowerShell映射驅動器
- 3. 如何使用C#映射驅動器?
- 4. 無法使用VB.net映射驅動器
- 5. Delphi - 映射驅動器ipaddress
- 6. 映射網絡驅動器
- 7. 映射網絡驅動器
- 8. 映射Sharepoint驅動器
- 9. 映射網絡驅動器使用命令行
- 10. 目錄名稱無效,映射的驅動器和用戶名
- 11. 將應用程序映射爲驅動器的Windows API
- 12. 映射使用自動映射器
- 13. 從本地驅動器識別映射驅動器
- 14. 基於用戶名映射網絡驅動器的腳本
- 15. 如何ping映射的驅動器
- 16. Cassandra C#驅動程序映射器
- 17. 帶認證的Powershell驅動器映射?
- 18. 將ftp映射到C#驅動器#
- 19. if-then批處理映射驅動器
- 20. Cygwin訪問Windows UNC映射驅動器
- 21. 映射網絡驅動器與陣列
- 22. PowerShell新PSD驅動器沒有映射驅動器
- 23. 根據組成員映射驅動器
- 24. 將UNC源映射爲驅動器
- 25. 共享Windows映射驅動器
- 26. Python Win32 - DriveInfo在映射驅動器
- 27. tomcat 7訪問映射驅動器
- 28. SMB和Python與映射驅動器
- 29. 在R - 映射驅動器setwd?
- 30. 將驅動器映射到SharePoint 2010
可能重複的[C#如何將CDROM的驅動器號從D:更改爲Z:](http://stackoverflow.com/questions/5084297/c-how-to-change-the-drive-letter -d-cdrom-from-d-to-z) –
不重複;這是一個不同的問題。 OP想知道如何重命名映射驅動器的「友好名稱」,而不是更改驅動器號。 –
[如何重命名或重新標記網絡驅動器標籤]的副本(http://stackoverflow.com/questions/4460390/how-to-rename-or-relabel-a-network-drive-label) – Luke