Imports System.Reflection
Imports System.IO
Public Class Form1
Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, ByRef lpVolumeSerialNumber As Integer, ByRef lpMaximumComponentLength As Integer, ByRef lpFileSystemFlags As Integer, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
LstDrive.Items.Clear()
LstVolLabel.Items.Clear()
LstSize.Items.Clear()
LstDriveType.Items.Clear()
LstPartitionType.Items.Clear()
LstVolumeID.Items.Clear()
Dim allDrives() As IO.DriveInfo = IO.DriveInfo.GetDrives()
Dim drive As IO.DriveInfo
LblDriveNumber.Text = allDrives.Count & " Drive(s) detected"
For Each drive In allDrives
LstDrive.Items.Add(drive.RootDirectory) '.ToString()
Try
LstVolLabel.Items.Add(drive.VolumeLabel) '.ToString()
LstSize.Items.Add(Format(drive.AvailableFreeSpace / (1024 * 1024), "###,##0 GB") _
& " of " & Format(drive.TotalSize / (1024 * 1024), "###,##0 GB") _
& " (" & Format(drive.AvailableFreeSpace / drive.TotalSize, "###,##0% used)"))
If drive.DriveType = IO.DriveType.Removable Then
LstDriveType.Items.Add("USB")
ElseIf drive.DriveType = IO.DriveType.Network Then
LstDriveType.Items.Add("Network")
ElseIf drive.DriveType = IO.DriveType.Fixed Then
LstDriveType.Items.Add("HD")
ElseIf drive.DriveType = IO.DriveType.CDRom Then
LstDriveType.Items.Add("CD-ROM")
ElseIf drive.DriveType = IO.DriveType.Unknown Then
LstDriveType.Items.Add("???")
End If
LstPartitionType.Items.Add(drive.DriveFormat)
check_ID(drive.RootDirectory)
Catch ex As Exception
LstVolLabel.Items.Add("")
LstSize.Items.Add("")
LstDriveType.Items.Add("")
LstPartitionType.Items.Add("")
LstVolumeID.Items.Add("")
End Try
Next
End Sub
Private Sub check_ID(ByVal cur_drive)
Dim root As String
Dim volume_name As String
Dim serial_number As Integer
Dim max_component_length As Integer
Dim file_system_flags As Integer
Dim file_system_name As String
Dim pos As Integer
Dim Vol_ID As String
root = cur_drive.ToString
'ListBox6.Items.Add(root)
volume_name = Space(1024)
file_system_name = Space(1024)
If GetVolumeInformation(root, volume_name, Len(volume_name), serial_number, max_component_length, file_system_flags, file_system_name, Len(file_system_name)) = 0 Then
MessageBox.Show("Tidak ada drive atau formatnya salah ( harus pakai tanda :\ )", "Error Getting Information", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
End If
pos = volume_name.IndexOf(Chr(0))
volume_name = volume_name.Substring(0, pos)
Vol_ID = Hex(serial_number.ToString)
Vol_ID = Microsoft.VisualBasic.Left(Vol_ID, 4) & "-" & Microsoft.VisualBasic.Right(Vol_ID, 4)
LstVolumeID.Items.Add(Vol_ID)
pos = file_system_name.IndexOf(Chr(0))
file_system_name = file_system_name.Substring(0, pos)
End Sub
End Class
Saya belajar menulis untuk hal yang berkaitan dengan hobby saya, dan http://www.purwoko-edi.com web site pribadi saya
Semoga bisa bermanfaat untuk orang lain
Cari di Blog Ini
Senin, 31 Maret 2014
Programming VB.NET : Mendapatkan Serial Number, Volume dan Size pada Hard Disk/Flash Disk/CD ROM/DVD ROM
Untuk mengetahui Serial Number, Volume dan Size pada Hard Disk/Flash Disk/CD ROM/DVD ROM menggunakan VB.NET caranya sbb :
Selamat mencoba :)
Langganan:
Posting Komentar (Atom)

Komentar ini telah dihapus oleh pengarang.
BalasHapussaya tidak mengerti pertanyaan Anda
HapusKomentar ini telah dihapus oleh pengarang.
Hapusketika di jalankan muncul tulisan Tidak ada drive atau formatnya salah ( harus pakai tanda :\ itu gimana yah
Hapuscoba copy ulang coding saya, saya melakukan perubahan supaya Anda lebih mudah mencobanya.
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapusselamat pagi..kalau boleh tau, maksud dari volume id ini apa ya?
BalasHapushard disk, Flash Disk, CD, dan alat penyimpanan data mempunyai identitas.
Hapuscoba lakukan DIR ke USB Flash Disk atau ke Hard Disk, di posisi paling atas ada Volume ID nya