簡體   English   中英

在Windows 8中獲取映射的網絡驅動器

[英]Get Mapped Network Drives in Windows 8

如上所述,我在使用Visual Studio 2012的Windows 8計算機上。

我需要映射/取消映射網絡驅動器以及獲取所有當前映射驅動器的列表。 映射/取消映射我分別通過PInvoke使用WNetAddConnection2A和WNetCancelConnection2A。 要獲取當前映射驅動器的列表,我目前正在使用WMI並查詢Win32_MappedLogicalDisk。

        using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_MappedLogicalDisk"))
        {
            foreach (ManagementObject queryObj in searcher.Get())
            {
            }
        }

有趣的是,WMI返回的“映射”驅動器沒有顯示在“計算機”下的文件資源管理器的左側面板中。 返回的“映射”驅動器也不會使用“net use”命令顯示。 我可以通過WNetAddConnection2A映射驅動器,它將通過Win32_MappedLogicalDisk查詢返回,但它不會顯示在文件資源管理器中。

此外,我可以通過文件資源管理器手動映射驅動器,映射的驅動器將使用“net use”顯示,但不會使用WMI返回查詢Win32_MappedLogicalDisk。

文件瀏覽器/“網絡使用”似乎與WNetAddConnection2A / WMI沒有相同的來源。 我已經在Windows 7上測試了相同的代碼而沒有任何問題。

任何幫助將非常感激。 謝謝

嘗試Win32_LogicalDisk WMI類和DriveType屬性(值4表示網絡驅動器)。

Select * From Win32_LogicalDisk Where DriveType = 4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM