Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Zjištění typu diskové jednotky |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 10.1.2003
| Publikováno: 10.1.2003
| Čtenářů: 2620
| Unikátních: 2585
|
Potřebujete zjistit jakého typu je určitý disk v počítači? Opět si pomůžeme API funkcí.
Jaké typy disku známe: Pevný disk, výměný disk, síťový disk, CDROM, Ramdisk
Vyrobíme si tedy funci, která na základě jména jednotky vrátí její typ. A na klik myší na formuláři vypíšeme všechny jednotky v počítači s příslušným typem.
Zkopírujte tento kód a po spuštění projektu klikněte na formulář.
Option Explicit
'Typy
Private Enum DriveTypeEnum
DRIVE_REMOVABLE = 2
DRIVE_FIXED = 3
DRIVE_REMOTE = 4
DRIVE_CDROM = 5
DRIVE_RAMDISK = 6
End Enum
'API deklarace
Private Declare Function GetDriveType _
Lib "kernel32" Alias "GetDriveTypeA" ( _
ByVal nDrive As String _
) As Long
Private Sub Form_Click()
Dim i, Drv, D$
For i = Asc("A") To Asc("Z") 'Vsechny jednotky A az Z
Drv = GetTypeDrive(Chr$(i))
'Vypiseme na formular
Select Case Drv
Case DRIVE_REMOVABLE
Print "Jednotka " & Chr$(i) & " je disketa."
Case DRIVE_FIXED
Print "Jednotka " & Chr$(i) & " je pevný disk."
Case DRIVE_REMOTE
Print "Jednotka " & Chr$(i) & " je síťový disk."
Case DRIVE_CDROM
Print "Jednotka " & Chr$(i) & " je CD-ROM."
Case DRIVE_RAMDISK
Print "Jednotka " & Chr$(i) & " je RAM disk."
Case Else
End Select
Next i
End Sub
Private Function GetTypeDrive(ByVal Drive As String) _ As DriveTypeEnum
On Error Resume Next
Dim sTmp As String
If InStr(1, Drive, ":") > 0 Then
sTmp = Mid(Drive, 1, 3)
Else
sTmp = Mid(Drive, 1, 1) & ":"
End If
GetTypeDrive = GetDriveType(sTmp)
If Err.Number <> 0 Then
MsgBox "Došlo k chybě"
Err.Clear
End If
End Function
|