通过 WMI 返回硬盘序列号的一点小问题

通过 SELECT * FROM Win32_PhysicalMedia 可以返回硬盘序列号,但是在实际使用中某些情况下(原因未知)返回的 SerialNumber 是实际硬盘序列号的字符串按字符UrlEncode得到的纯数字字符串,如硬盘序列号为 1551F01361BF,可能某一次返回给你的会变成 3531313530463331313646422020202020202020,因此需要简单处理一下

        If str.Length > 12 AndAlso str.Length Mod 4 = 0 Then
            Dim sb As New StringBuilder
            For i As Int32 = 0 To str.Length - 1 Step 4
                sb.Append(HttpUtility.UrlDecode("%" & str.Substring(i + 2, 2)))
                sb.Append(HttpUtility.UrlDecode("%" & str.Substring(i, 2)))
            Next
            str = sb.ToString.Trim
        End If
        Return str    

 至于出现这个问题的原因,我还在没找到答案,如果有哪位大侠遇到过,还望不吝赐教

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章