fb:porticula NoPaste
Noch eine GetVolumeInformation ;-))
Uploader: | ytwinky |
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