Výčet logických jednotiek spigi - 9. 4. 2003 13:00 - 7835 views Akým spôsobom sa dá zistiť, aké logické jednotky máme, prípadne aj zistenie ich typu. Ak potrebujeme iba výčet logických jednotiek v počítači, vystačíme si s namespace System.IO.DirectoryDim dir As System.IO.DirectoryDim drive As StringFor Each drive In dir.GetLogicalDrives() MsgBox(drive.ToString())NextAk však potrebujeme aj zistiť typ nejakej logickej jednotky, to je už väčší problém. Budeme musiet využiť System.Management, na ktorý si musíme do projektu pridať aj príslušnú referenciu.Dim drives As New System.Management.ManagementClass("Win32_LogicalDisk")Dim moc As System.Management.ManagementObjectCollection = drives.GetInstances()Dim mo As System.Management.ManagementObjectFor Each mo In moc Select Case mo("DriveType").ToString() Case "1" MsgBox("NoRoot - " & mo("DeviceID").ToString()) Case "2" MsgBox("Removable - " & mo("DeviceID").ToString()) Case "3" MsgBox("LocalDisk - " & mo("DeviceID").ToString()) Case "4" MsgBox("Network - " & mo("DeviceID").ToString()) Case "5" MsgBox("CD - " & mo("DeviceID").ToString()) Case "6" MsgBox("RAMDrive - " & mo("DeviceID").ToString()) End SelectNextPosledná varianta je const Integer NoRoot = 1const Integer Removable = 2const Integer LocalDisk = 3 const Integer Network = 4const Integer CD = 5const Integer RAMDrive = 6Dim query As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk")' Tiež je možné načítať napríklad iba lokálne diky' SELECT * FROM Win32_LogicalDisk WHERE DriveType=" + LocalDisk.ToString()Dim queryCollection As ManagementObjectCollection = query.Get() Dim mo As ManagementObjectFor Each mo In queryCollection Console.WriteLine("Typ jedotky je {0}, veľkosť: {1}, názov jednotky: {2}, SerialNumber: {3}", mo("Description"), mo("Size"), mo("VolumeName"), mo("VolumeSerialNumber"))Next