通過 WMI 返回硬碟序列號的一點小問題
阿新 • • 發佈:2018-11-21
通過 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
至於出現這個問題的原因,我還在沒找到答案,如果有哪位大俠遇到過,還望不吝賜教