Laufwerks Buchstaben Herrausfinden
Übersicht

![]() |
ShogoBetreff: Laufwerks Buchstaben Herrausfinden |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo gibt es eine Möglichkeit herauszufinden welchen Buchstaben eine Festplatte hat?
Shogo |
||
Jake |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Guck mal unter SystemProperty$(). | ||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] "APPDIR" = liefert Name des BlitzBasic-Ordners "OS" = liefert Name des Betriebssystems "SYSTEMDIR" = liefert Name des System-Ordners "TEMPDIR" = liefert Name des Temp-Ordners "WINDOWSDIR" = liefert Name des Windows-Ordners Gibts da noch mehr Parameter für weil wie ich das mit denen rausbekommen soll weiß ich wirklich nicht. |
||
Ballermann99 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du den Buchstaben vom Laufwerk suchst, auf dem dein Programm läuft kannst dus so machen
Code: [AUSKLAPPEN] Print Left(CurrentDir(), 3) WaitKey Wenn du von allen Festplatten den Buchstaben willst brauchst du ne Userlib. MfG Ballermann99 |
||
Mashed Crashed |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bin mal auf diesen Uraltenthread gestoßen, doch will das ma eben richtig stellen dass das auch ohne Lib geht ![]() Code: [AUSKLAPPEN] For I = 0 To 25
stream = 0 stream = ReadDir(Chr(65+I)+":\") If stream <> 0 Then Print Chr(65+I)+":\" Closedir(Chr(65+I)) Next EDIT: Besser so? |
||
- Zuletzt bearbeitet von Mashed Crashed am Do, Mai 29, 2008 16:27, insgesamt 3-mal bearbeitet
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Will das mal eben richtig stellen, dass man mit deiner Methode nicht zwischen zB USB-Stick oder Festplatte unterscheidet und die oben genannte Methode ohne Lib auskommt.
EDIT: Und wenn du Stream nicht auf 0 setzt und das Directory nicht wieder schließt, dann haben wir überhaupt die Katastrophe perfekt. sry, musste sein. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ; ***************************************** ;.lib kernel32.decls ; GetDriveType%(drivename$):"GetDriveTypeA" ; GetVolumeInformation%(Path$,VolNameBuff*,VolLen%,Serial*,MaxComponentLen*,fsFlags*,fsNameBuff*,fsNameLen%):"GetVolumeInformationA" ; GetLogicalDriveStrings%(bufflen%,buffer*):"GetLogicalDriveStringsA" ; ***************************************** Global driveanz Dim driveletter$(50) Dim drivename$(50) Dim drivetype$(50) Dim filesystem$(50) Dim driveentry%(50) Function GetVolumeInfo() driveanz = 0 ; first, get a list of available volumes .. A:\B:\C:\F:\ ... vlist=CreateBank(256) GetLogicalDriveStrings 255,vlist drivelist$=PeekString$(vlist,256) FreeBank vlist ; run through list of voulumes For driveanz=0 To Len(drivelist$)/3-1 driveletter$(driveanz)=Mid$(drivelist$,driveanz*3+1,3) drivename$(driveanz)="N/A" Select GetDriveType(driveletter$(driveanz)) Case 2 : drivetype$(driveanz)= "Wechseldatenträger" Case 3 : drivetype$(driveanz)= "Lokaler Datenträger" Case 4 : drivetype$(driveanz)= "Netzlaufwerk" Case 5 : drivetype$(driveanz)= "CD/DVD/HD-DVD/BlueRay" Case 6 : drivetype$(driveanz)= "RAM-Laufwerk" Default : drivetype$(driveanz)= "N/A" End Select vn=CreateBank(256) : sn=CreateBank(4) mcl=CreateBank(4) : flags=CreateBank(4) : fs=CreateBank(256) GetVolumeInformation driveletter$(driveanz),vn,255,sn,mcl,flags,fs,255 drivename$(driveanz)=PeekString$(vn,256) If drivename$(driveanz)="" Then drivename$(driveanz)="N/A" PeekInt(sn,0) PeekInt(mcl,0) PeekInt(flags,0) filesystem$(driveanz)=PeekString$(fs,256) ; free the banks FreeBank sn : FreeBank mcl : FreeBank flags FreeBank vn : FreeBank fs Next End Function ; build and return a string of characters from a bank Function PeekString$(bank,numbytes) Local a$="" For pos=0 To numbytes-1 byte=PeekByte(bank,pos) If byte<>0 Then a$=a$+Chr$(byte) Next Return a$ End Function Ist aus dem Englischen Forum, von mir Vereinfacht und "Übersetzt" Ändere bitte die Zahlen der Arrays auf 25 (Das Alphabet hat ja nur 26, als gibt es max 26 Laufwerke) MFG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group