Forum: VB.NET |
Thema:
Re: Seriennummer der System Platte |
Von:
Theo Driemann (
15.04.2006 17:49) |
Damit sollte es gehen.
Function GetDriveInfo(ByVal DriveLetter As String) As String
'Retrieves serial number and drive type from a drive letter.
'Returns either HD drive Number & Type or in case of an error ERROR
'callup : RetHDdata = GetDriveInfo("d:\") ; RetHDdata type STRING
't=0 Unknown; t=1 Removeable drive; t=2 Fixed drive; t=3 Network drive;t=4 CD-ROM; t=5 RAM drive.
Dim HDnum As String 'Harddisk serial number.
Try 'Error Handling.
Dim DriveType As String = "Nothing" 'Set VAR drive type default.
Dim fs As Object = CreateObject("Scripting.FileSystemObject")
Dim d As Object = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(DriveLetter)))
Select Case d.DriveType 'Select.
Case 0 : DriveType = "Unknown" 'Set DriveType Unknown.
Case 1 : DriveType = "Removeable" 'Set DriveType Removeable.
Case 2 : DriveType = "Fixed" 'Set DriveType FIXED.
Case 3 : DriveType = "Network" 'Set DriveType NETWORK.
Case 4 : DriveType = "CD-ROM" 'Set DriveType CD-ROM.
Case 5 : DriveType = "RAM" 'Set DriveType RAM.
End Select
HDnum = Trim(Str$(d.SerialNumber)) & ";" & d.VolumeName 'Save HD serial number and volume name.
fs = Nothing 'Set to default.
d = Nothing 'Set to default.
Return HDnum 'Return HD Serial Number..
Catch ex As Exception 'Catch Error
' 'Message header.
Dim MsgHead As String = "Error : " & Err.Number & " - " & Err.Description
Select Case Err.Number 'Select.
Case 68 'Device unavailable.
MsgBox("Can't access the selected device.", MsgBoxStyle.Critical, MsgHead)
HDnum = "Error" 'Error indicator.
Case 71 'Disk not ready.
MsgBox("Can't access the selected device.", MsgBoxStyle.Critical, MsgHead)
HDnum = "Error" 'Error indicator.
Case Else 'Unknown Error.
MsgBox("Unexspected error", MsgBoxStyle.Critical, MsgHead)
HDnum = "Error" 'Error indicator.
End Select
Return HDnum 'Return error value.
End Try
End Function
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!