【发布时间】:2014-04-22 14:21:33
【问题描述】:
我有一个旧的 vb 应用程序,它使用此代码检索磁盘 ID。
Dim FSO As New Scripting.FileSystemObject
Dim Dr As Scripting.Drive
Dim id_convertido As Long = 0
Dim sRutaAplicacion As String = Application.StartupPath
Dim Valor As Integer = sRutaAplicacion.IndexOf(":\")
If Valor <> -1 Then
Dim RaizAplicacion As String
RaizAplicacion = Mid(sRutaAplicacion, 1, Valor)
For Each Dr In FSO.Drives
If Dr.DriveLetter = RaizAplicacion Then
Dim idDisco As String
idDisco = Dr.SerialNumber
id_convertido = (Microsoft.VisualBasic.Right(idDisco, 8))
Return id_convertido
End If
Next
End If
我想在c#中实现同样的功能,所以我找到了这段代码:
string HDD = System.Environment.CurrentDirectory.Substring(0, 1);
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + HDD + ":\"");
disk.Get();
return disk["VolumeSerialNumber"].ToString();
但我得到不同的值。在我的第一个代码中,“idDisco”是“876823094”,但在 c# 中,这个值是“34434236”。
两者都在检查磁盘 c:
有什么线索吗?
非常感谢!
【问题讨论】:
标签: c# vb.net disk serial-number