1. 程式人生 > >通過 WMI 返回硬碟序列號的一點小問題

通過 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    

 至於出現這個問題的原因,我還在沒找到答案,如果有哪位大俠遇到過,還望不吝賜教