USB-Festplatten auflisten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

USB-Festplatten auflisten

Beitrag von KeyKon »

Ich habe folgendes Problem: Ich will die Buchstaben aller derzeit angeschlossenen Festplatten auflisten (am besten nur USB, ich weis nich ob es da einen unterschied gibt an dem man das erkennt)
Wie mach ich das am besten auf die schnelle?
Würde mich über schnelle antwort freuen, muss übrigens nur für Windows funktionieren kann also gerne API verwenden...

MFG KeyKon
(\/) (°,,,°) (\/)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

USB-Platten sind entfernbar, aber USB-Sticks auch, weiß also nicht ob Dir der folgende Code reicht:

Code: Alles auswählen

NewList RemovableDrives.s()
Define.i I, D
For I = 67 To 90
  D = GetDriveType_(Chr(I) + ":\")
  If D = #DRIVE_REMOVABLE
    AddElement(RemovableDrives())
    RemovableDrives() = Chr(I) + ":\"
  EndIf
Next

ForEach RemovableDrives()
  Debug RemovableDrives()
Next
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Thx, das passt an sich! :allright:
Aber vll hast du noch nen Kniff wie man die Gesammtkapazität rauskriegt? So könnte man denk ich gut zwischen Stick und Platte unterscheiden...


EDIT: Hat sich erledigt hab mit GetDiskFreeSpaceEx_() das passende gefunden...
(\/) (°,,,°) (\/)
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Aber es gibt mittlerweile Sticks, die grösser als Platten sind...

Wenn ich da an meine (immer noch funktionstüchtige) 2GB Platte denke und an einen 4 GB Stick...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

^^ In anbetracht dessen das mein Programm dazu da ist Fernsehmitschnitte zu verwalten/kopieren die in der regel 2-20 GB groß sind denke ich das solche Platten damit nich benutzt werden^^
Ich sehe einfach alles kleiner gleich 16 GB als Stick an...
(\/) (°,,,°) (\/)
Little John

Beitrag von Little John »

Laut Angaben von Uwe Sieber geben sich (unter Windows XP) USB-Sticks meist als 'Wechseldatenträger', USB-Festplatten meist als 'Lokale Datenträger' zu erkennen.

Gruß, Little John
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Das der Windows Explorer diese Angaben macht, kann ich bestätigen.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Little John hat geschrieben:Laut Angaben von Uwe Sieber geben sich (unter Windows XP) USB-Sticks meist als 'Wechseldatenträger', USB-Festplatten meist als 'Lokale Datenträger' zu erkennen.
Tatsache unter 2k funktionierts aber XP gehn nur USB-Sticks ins Netz...
Nunja dann werd ich der einfachkeit halber einfach nur alle paar sekunden guggen ob eine neue Festplatte dazugekommen ist und die dann in die USB-Plattenliste aufnehmen, mein Prog läuft eh mit Autostart hoch...
(\/) (°,,,°) (\/)
Antworten