【问题标题】:How to get Volume Serial Number using Visual Basic 2010?如何使用 Visual Basic 2010 获取卷序列号?
【发布时间】:2013-09-03 22:28:01
【问题描述】:

我正在尝试使用 Visual Basic 2010 获取卷序列号,

是否有完整的代码示例向我展示如何执行此操作?

谢谢

【问题讨论】:

标签: visual-studio-2010


【解决方案1】:

我想我的问题最简单的答案是:

汉斯·帕桑特: 从他的链接,

我只是复制并粘贴了这个函数,它适用于 Microsoft Visual basic 2010 express,没有任何修改

Public Function GetDriveSerialNumber() As String
    Dim DriveSerial As Long
    Dim fso As Object, Drv As Object
    'Create a FileSystemObject object
    fso = CreateObject("Scripting.FileSystemObject")
    Drv = fso.GetDrive(fso.GetDriveName(AppDomain.CurrentDomain.BaseDirectory))
    With Drv
        If .IsReady Then
            DriveSerial = .SerialNumber
        Else    '"Drive Not Ready!"
            DriveSerial = -1
        End If
    End With
    'Clean up
    Drv = Nothing
    fso = Nothing
    GetDriveSerialNumber = Hex(DriveSerial)
End Function

感谢大家的帮助,

我很抱歉重复了这个问题, 我确实做了谷歌搜索和堆栈流搜索, 但我的搜索是“ "在visual basic 2010中获取硬盘序列号"

所以这个网站没有出现,

再次感谢

【讨论】:

    【解决方案2】:

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/43281cfa-51c8-4c35-bc31-929c67abd943/getting-drive-volume-serial-number-in-vb-2010 的这个线程有以下代码,您可以使用/调整。

    我为您制作了一段代码来显示所有驱动器信息。

    包含卷序列号,您可以通过简单的方式获得 在代码中添加更多的 if's

    Imports System.Management
    Public Class Form1
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim drivetype() As String = {"Unknown", "NoRootDirectory", _
        "RemoveableDisk", "LocalDisk", "NetworkDrive", "CompactDisk", "RamDisk"}
        Dim allDrives() As String = Environment.GetLogicalDrives()
        For Each drive In allDrives
          Dim win32Drive As String = _
          "Win32_LogicalDisk='" & drive.Substring(0, 2) & "'"
          Dim Disk As System.Management.ManagementObject _
          = New System.Management.ManagementObject(win32Drive)
          Me.ListBox1.Items.Add(drive.ToString & drivetype(CInt((Disk("DriveType").ToString))))
          For Each diskProperty In Disk.Properties
            If Not diskProperty.Value Is Nothing Then
              Me.ListBox1.Items.Add("---" & diskProperty.Name & "=" & diskProperty.Value.ToString)
            End If
          Next
        Next
      End Sub
    End Class
    

    【讨论】:

    • 这适用于 Visual Basic 2010 吗?我收到 System.Management.ManagementObject 的错误,它说类型“System.Management.ManagementObject”未定义!谢谢
    • Microsoft Visual Basic 2010 速成版
    • 您必须添加 System.Management 作为参考(请参阅此线程 stackoverflow.com/questions/4314630/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多