Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Noch eine GetVolumeInformation ;-))

Uploader:Redakteurytwinky
Datum/Zeit:17.01.2008 17:22:59

'FreeBasic-Portal.de (01/2008)
'Getestet mit FreeBasic 0.18.3
'„ä”öüáߎę֚Üñ±ø°¸©
'..und so sieht die Seriennummer aus wie beim Dir-Befehl
Declare Function GetVolumeInformation Lib "kernel32.dll" Alias _
  "GetVolumeInformationA" (ByVal lpRootPathName As ZString Ptr, _
  ByVal lpVolumeNameBuffer As ZString Ptr, ByVal nVolumeNameSize As Integer, _
  lpVolumeSerialNumber As Integer Ptr, lpMaximumComponentLength As Integer Ptr, _
  lpFileSystemFlags As Integer Ptr, ByVal lpFileSystemNameBuffer As ZString Ptr, _
  ByVal nFileSystemNameSize As Integer) As Integer

DIM AS Integer Ergebnis, VNSize, Seriennummer, MaxLaenge, Flags, FSNSize 'long ist VB..
DIM AS ZSTRING*255 Pfad, VolName, FileSystemName

Color 14
Print "GetVolumeInformation in FreeBasic"
Color 7
Print "Siehe http://msdn2.microsoft.com/en-us/library/aa364993(VS.85).aspx"
Print

FSNSize = 255
VNSize = 255
Pfad = "C:\"

Print "Laufwerk:      " &Pfad

Ergebnis=GetVolumeInformation(StrPtr(Pfad), StrPtr(VolName), VNSize, _
                              @Seriennummer, @MaxLaenge, @Flags, _
                              StrPtr(FileSystemName), FSNSize)
Print "Rueckgabewert: " &Ergebnis

If Ergebnis=0 Then
  Print "Es ist ein Fehler aufgetreten."
  Sleep
  End 1
End If

Print "Volumenname:   " &VolName
Print "Seriennummer:  " & Hex(HiWord(Seriennummer), 4) &"-" & Hex(LoWord(Seriennummer), 4)
Print "Flags:         " & Hex(Flags, 8) 'sieht 'übersichtlicher aus..
Print "Dateisystem:   " &FileSystemName
'Seriennummer berechnen, von VBArchiv.net 'entliehen'..
Print "..unter Zuhilfenahme von www.vbarchiv.net"
'..aber das muß doch auch anders gehen..
Print "(natrlich mit der bew„hrten Kombi Brain.Exe/Think.Exe)^^";

Sleep
End 0