[英]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.