För att kolla vilka enheter som finns på klienten kan du göra på 2 sätt.
1. Det enklast men också det osäkraste är om du använder FSO, då kan du helt enkelt loopa mellan A - Z och sen använda "DriveExists" för att kolla om enheten finns.
ex:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
for lngI = 97 to 122
if fso.DriveExists(chr(lngI)) = true then
'enheten finns
end if
next 'lngI
På detta sätt får du reda på om enheten finns eller inte. Vad du däremot inte vet är om enheten är mobil (diskett och dyl.), om det är en lokal hårddisk eller om enheten är uppmappad.
För att få reda på vilken slags enhet det är så måste man använda API.
Ex. OBS, exemplet kräver att du lägger till en "listbox", du kan sen lätt modda skriptet och använda det hur du vill.
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
'i deklarationen
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Enum DriveTypes
DRIVE_UNDERTIMINED = 0
DRIVE_NONEXISTANT = 1
DRIVE_REMOVABLE = 2
DRIVE_FIXED = 3
DRIVE_REMOTE = 4
DRIVE_CDROM = 5
DRIVE_RAMDISK = 6
End Enum
Private Sub Form_Load()
Dim sDrive As String, iDrive As Integer
Dim dt As DriveTypes
For iDrive = vbKeyA To vbKeyZ
sDrive = Chr(iDrive) & ":\"
dt = GetDriveType(sDrive)
Select Case dt
Case DRIVE_REMOVABLE
List1.AddItem sDrive & " = REMOVABLE DRIVE"
Case DRIVE_FIXED
List1.AddItem sDrive & " = FIXED DRIVE"
Case DRIVE_REMOTE
List1.AddItem sDrive & " = REMOTE DRIVE"
Case DRIVE_CDROM
List1.AddItem sDrive & " = CDROM"
Case DRIVE_REMOTE
List1.AddItem sDrive & " = RAMDISK"
Case DRIVE_NONEXISTANT
List1.AddItem sDrive & " = NO DRIVE!"
Case DRIVE_UNDERTIMINED
List1.AddItem sDrive & " = DRIVE UNDERTIMINED"
End Select
Next iDrive
End Sub
Detta är alltså det sätt som ger pålitligast listning och är även det som jag rekommenderar dig att använda.
------------------
Fredrik Klarqvist
f.klarqvist@spray.se
http://server.webwerkstaden.se/fredde/