Win10技巧:Win10專業(yè)版密鑰一鍵查詢備份工具
微軟即將關(guān)閉Win7/Win8.1免費(fèi)升級(jí)Win10系統(tǒng)的通道,此時(shí)如果還有用戶想升級(jí)windows10但沒(méi)有升級(jí)的,可以嘗試使用本文方法進(jìn)行全新安裝。全新安裝的好處就是不會(huì)產(chǎn)生新舊系統(tǒng)各種銜接不暢的問(wèn)題,雖說(shuō)現(xiàn)在升級(jí)安裝Win10后的體驗(yàn)不像一年前那么差了,但這種本質(zhì)性的差異是Windows系統(tǒng)升級(jí)安裝的通病,很難避免。
當(dāng)然,免費(fèi)激活這事可能還是直接升級(jí)的更保險(xiǎn),因?yàn)橐话銇?lái)說(shuō)升級(jí)之前的系統(tǒng)都是激活好了的,雖然大家激活系統(tǒng)方式可謂“條條大路通羅馬”吧,但微軟一般也沒(méi)計(jì)較什么,都給予了激活狀態(tài)的Win10。不過(guò)使用全新安裝再輸入產(chǎn)品密鑰的方式可能更適合正版用戶,或者自己手中有合法密鑰(至少密鑰沒(méi)被封禁)的用戶。如果你能夠確認(rèn)手中的密鑰沒(méi)有問(wèn)題,不妨嘗試一下系統(tǒng)天地小編的方法。操作上很簡(jiǎn)單,只需要把如下代碼使用記事本等保存為.vbs格式(文件名自擬),雙擊運(yùn)行即可,適用于Win7/Win8.1/Win10系統(tǒng)。
▲圖片說(shuō)明:這幅圖的意思并非企業(yè)版支持免費(fèi)升級(jí),而是說(shuō)本文方法同樣適用于企業(yè)版密鑰查詢和備份
代碼如下:
Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "系統(tǒng)名稱:" & objshell.RegRead(Path & "ProductName")
ProductID = "產(chǎn)品ID:" & objshell.RegRead(Path & "ProductID")
ProductKey = "已安裝密鑰:" & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & "要將密鑰保存到文件嗎?", vbYesNo + vbQuestion, "軟媒魔方備份Windows密鑰信息") then
Save ProductData
End If
'Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin10, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
'Check if OS is Windows 10
isWin10 = (Key(66) 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin10 And 2) * 4)
i = 24
Maps = "BCDFGHJKMPQRTVWXY2346789"
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0
If (isWin10 = 1) Then
keypart1 = Mid(KeyOutput, 2, Last)
insert = "N"
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
End If
ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
End Function
'Save data to a file
Function Save(Data)
Dim fso, fName, txt,objshell,UserName
Set objshell = CreateObject("wscript.shell")
'Get current user name
UserName = objshell.ExpandEnvironmentStrings("%UserName%")
'Create a text file on desktop
fName = "C:Users" & UserName & "DesktopWindows密鑰備份.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function
----------- 系統(tǒng)天地分割線 ------------
▲圖片說(shuō)明:代碼粘貼到記事本后,另存為.vbs格式
▲圖片說(shuō)明:運(yùn)行效果,備份密鑰會(huì)以文本文件(.txt)的形式保存到桌面
▲圖片說(shuō)明:保存密鑰文件的內(nèi)容
當(dāng)然,自己手動(dòng)新建文件,復(fù)制和粘貼代碼再保存怪麻煩的,所以各位直接在下方下載現(xiàn)成的文件就省心了,下來(lái)之后直接運(yùn)行。
Windows 產(chǎn)品密鑰查詢備份文件:網(wǎng)盤(pán)下載(2KB)