1
我有一個網絡驅動器名稱的問題。 如果我們訪問網絡驅動器的屬性,我們可以看到兩個名稱,一個在標題(用戶定義的名稱)上,另一個在圖標(標籤)旁邊。 我試圖使用GetVolumeInformation函數來獲取網絡驅動器的名稱。我得到的名稱是該網絡驅動器的標籤,而不是用戶定義的名稱。 使用什麼函數可以獲取用戶定義的名稱?如何在Windows中獲取網絡驅動器的用戶定義名稱?
我有一個網絡驅動器名稱的問題。 如果我們訪問網絡驅動器的屬性,我們可以看到兩個名稱,一個在標題(用戶定義的名稱)上,另一個在圖標(標籤)旁邊。 我試圖使用GetVolumeInformation函數來獲取網絡驅動器的名稱。我得到的名稱是該網絡驅動器的標籤,而不是用戶定義的名稱。 使用什麼函數可以獲取用戶定義的名稱?如何在Windows中獲取網絡驅動器的用戶定義名稱?
最後我找到了解決方法。用戶定義的名稱存儲在註冊表中,子鍵HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ MountPoints2中。首先,我使用WNetGetUniversalName獲取網絡驅動器的路徑,然後將路徑轉換爲註冊表中相應的名稱,並從_LabelFromReg中讀取值。
我想如果'GetVolumeInformation()'沒有提供你所需要的,那麼沒有其他方法可以給你這個信息。只需確認它是否確實無效。嘗試使用'SetVolumeLabel()',然後再次嘗試'GetVolumeInformation()',看它是否給出了你在'SetVolumeLabel()'中提供的標籤名稱。根據文檔標籤是一個用戶友好的名稱,用戶將其分配給一個卷以便於識別。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa365560%28v=vs.85%29.aspx –
只需右鍵單擊並重命名即可編輯用戶定義的名稱。問題是用戶爲本地磁盤定義的名稱和標籤是相同的。但它們對於網絡驅動器而言是不同的。 SetVolumeLabel將設置標籤,但不設置用戶定義的名稱。 – Mario