Správičky 2 270 Blogy 577 Fórum 14 074

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.Directory
Dim dir As System.IO.Directory
Dim drive As String
For Each drive In dir.GetLogicalDrives()
    MsgBox(drive.ToString())
Next
Ak 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.ManagementObject

For 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
Select
Next
Posledná varianta je
const Integer NoRoot = 1
const Integer Removable = 2
const Integer LocalDisk = 3
const Integer Network = 4
const Integer CD = 5
const Integer RAMDrive = 6

Dim 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 ManagementObject

For 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

Ing. Igor Stanek, ASP.NET MVP, MCP

Som spoluzakladateľom a spolumajiteľom spoločnosti CHASTIA s.r.o., Poprad (www.chastia.com). V spoločnosti pôsobím ako konateľ a Software Architect.

Prevádzkujem internetový portál na online prevod jednotiek na internete www.prevody.sk a prvý internetový portál o technológii Microsoft .NET na Slovensku www.vyvojari.sk (bývalé www.AspNet.sk).

Som držiteľom certifikácie Microsoft Certified Professional a zo strany Microsoftu som už 6 rokov za sebou ocenený titulom Microsoft Most Valuable Professional za kompetenciu "ASP.NET/IIS".

Ďalšie info o mne nájdete na mojej osobnej stránke www.spigi.sk.

Článkov: 105, Správičiek: 13, Príspevkov vo fóre: 560, Príspevkov v blogu: 124, Bodov: 15560
Najaktívnejší č.: 3
Profil používateľa

Reakcie

Titulok:


Meno:


Url:
Koľko je 22 + 4? (ochrana proti spamu)

Komentár:


Najaktívnejší užívatelia
1. 35110 b. photo vlko
2. 16735 b. photo T
3. 15560 b. photo spigi
4. 6635 b. photo dudok
5. 5705 b. photo slavof
6. 5205 b. photo siro
7. 4745 b. photo duracellko
8. 3780 b. photo Liero
9. 3690 b. photo lubolacko
10. 3625 b. photo jakub