Deutsch
Stammtisch & Café

GetDriveType.

 


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
Def @GetDriveType(1) !"KERNEL32","GetDriveTypeA"
Declare Art$,buf#
DIM buf#,4
String buf#,0="D:"

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

Dispose buf#
@messagebox("Laufwerk D: ist ein(e) "+Art$+".","Meldung",64)

KompilierenMarkierenSeparieren
API 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]
 
19.04.2005  
 




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
 
XProfan X3
Windows7 Xprofan 8,9,10 [...]  [...] 
01.09.2015  
 




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.
 
01.09.2015  
 




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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.689 Betrachtungen

Unbenanntvor 0 min.
Magda07.07.2016
Michael Borowiak10.09.2015
R.Schneider08.09.2015
RudiB.07.09.2015
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie