| |
|
|
|
Beschreibung:
GetDriveType ermittelt den Typ eines Laufwerks.
Deklaration:
Def @GetDriveType(1) !KERNEL32,GetDriveTypeA
Parameter:
1.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der das Rootverzeichnis des Laufwerks angibt.
Rückgabewert:
Die Art des Laufwerks. 0 = Der Laufwerkstyp konnte nicht ermittelt werden. 1 = Daa Rootverzeichnis existiert nicht. 2 = Datenträger kann aus dem Gerät entnommen werden, z.B. Diskettenlaufwerk (DRIVE_REMOVABLE). 3 = Datenträger kann nicht aus dem Gerät entnommen werden, z.B. Festplatte (DRIVE_FIXED). 4 = Netzwerklaufwerk (DRIVE_REMOTE). 5 = CD-ROM (DRIVE_CDROM). 6 = RAM-Disk (DRIVE_RAMDISK)
Beispiele:
KompilierenMarkierenSeparieren KompilierenMarkierenSeparierenAPI zum Listen der Laufwerke
Def GetLogicalDrives(0) !"KERNEL32","GetLogicalDrives"
API zum Erkennen der Laufwerksart
Def GetDriveType(1) !"KERNEL32","GetDriveTypeA"
Declare drives&,i%,d$,buf#,art$,Kapazität&,Belegt&,Frei&
Bitliste mit vorhanden Laufwerken ( A-Z, 0=nicht vorhanden 1=vorhanden)
Let drives&=GetLogicalDrives()
Dim buf#,4
While Lt(i%,26)
If TestBit(drives&,i%) wenn Laufwerk vorhanden...
Let d$=Chr$(Add(i%,65));":"
String buf#,0=d$ Laufwerkstring wird in Bereichsvariable gelegt
Abfrage, welches Laufwerk erkannt wurde
IF GetDriveType(buf#)=2
LET Art$="Diskettenlaufwerk"
elseIF GetDriveType(buf#)=3
LET Art$="Festplatte"
elseIF GetDriveType(buf#)=4
LET Art$="Netzwerklaufwerk"
elseIF GetDriveType(buf#)=5
LET Art$="CD-ROM"
elseIF GetDriveType(buf#)=6
LET Art$="RAM-Drive"
endif
ADDSTRING Add$(Add$(d$," Typ: "),ART$)
LET Kapazität&=@DiskSize(D$)
LET Frei&=@DiskFree(D$)
LET BELEGT&=@sub(@DiskSize(D$),@DiskFree(D$))
ADDSTRING @add$("-Gesamter Speicherplatz: ",@add$(@str$(Kapazität&)," Bytes"))
ADDSTRING @add$("-Belegt: ",@add$(@STR$(Belegt&)," Bytes"))
ADDSTRING @add$("-Frei: ",@add$(@STR$(Frei&)," Bytes"))
ADDSTRING ""
EndIf
Inc i%
Wend
Dispose buf#
@ListBox$("Laufwerkstypen",2)
[keywords:e567d82cca] Laufwerk Typ CD-ROM Festplatte RAM auslesen Laufwerkstyp Art [/keywords:e567d82cca] |
|
|
| |
|
|
|
GDL | Hallöle,
ich besitze im Moment weder ein Handy noch eine Digitalkammera zum Testen. Fallen diese Geräte dann unter RAM-Disk oder unter DRIVE_REMOVABLE. ?
Vielleicht weis es jemand auch so. Danke.
Grüßle Georg |
|
|
| |
|
|
|
Jörg Sellmeyer | Ich kann es im Moment auch nicht testen aber ich würde RAM-Disk mal ausschließen, da das ja eine im Hauptspeicher abgelegte virtuelle "Festplatte" ist. Da ja Digitalkameras und Handys per USB angesprochen werden, dürften sie wohl als DRIVE_REMOVABLE firmieren. Mein USB-Stick wird jedenfalls als solcher erkannt (Typ 2). |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.09.2015 ▲ |
|
|
|
|
HofK | SELTSAM!
Ich habe unter Win 8.1 ein Diskettenlaufwerk! - behauptet jedenfalls der erste Beispielkode wenn ich meine Digitalkamera an USB 3.0 angebe.
Meine Ramdisk wird als schnöde Festplatte aufgelistet und mein Handy hat keinen Laufwerksbuchstaben, nur einen Namen. |
|
|
| |
|
|
|
Jörg Sellmeyer | Ich würde sagen, du hast ein Laufwerk vom Typ 2 - das kann (muss aber nicht) ein Diskettenlaufwerk sein.
Der Code ist da eher ungenau... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.09.2015 ▲ |
|
|
|