2012-07-21 67 views
1

我想用簡單的c#應用程序從註冊表中讀取windows密鑰。但在x64機器上,我只收到BBBBB-BBBBB-BBBBB-BBBBB-BBBBB作爲關鍵,這是錯誤的...我該如何解決這個問題?在64位機器上讀Windows密鑰的問題

RegistryKey key = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); 
RegistryKey subkey = key.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"); 

謝謝!

+0

這是相當不完整的。你實際閱讀的是什麼*價值* – 2012-07-21 16:12:16

+0

我已經添加了一些代碼... – 2012-07-21 17:55:01

+0

@ThomasSebastianJensen它在我的64位Windows 7筆記本電腦上正常工作。我不確定你爲什麼遇到問題,除非它與本地化有關。 – 2012-07-21 18:48:56

回答

0

快速網絡搜索顯示許多人遇到同樣的問題。如果DigitalProductID是全部B,則一種解決方案似乎是獲得DigitalProductID4值。

3

根據這個製作CD密鑰恢復軟件的Web Site和這個Windows7Forums thread,產品ID的全部B的存在表示MAK(多激活密鑰)密鑰。

從第一環節:

的B的意思CD密鑰不存儲在您的計算機上,因此無法恢復。這可能是由於幾個原因:

MAK被用於激活;
SLMGR用於從Windows註冊表中刪除密鑰,
或者您正在運行Windows的盜版版本。

從二環線

這是一個大問題,當管理員設置了多臺PC機與一個 批量許可密鑰。因爲每個人都可以提取VLC密鑰並使用 進行其他安裝。因爲這個原因,VLC密鑰是 在激活後自動從註冊表中刪除。並且在 此全部主要取景器僅顯示「不可用」或 BBBBB-BBBBB-BBBBB-BBBBB-BBBBB。用命令行:slmgr -dli 可以得到一個「部分產品密鑰」 - 產品密鑰的最後5個字符 。此「部分產品密鑰」以加密形式保存在 證書文件「tokens.dat」 (C:\ Windows \ ServiceProfiles \ NetworkService \ AppData \ Roaming \ Microsoft \ SoftwareProtectionPlatform \ tokens.dat)中。 大家誰擔心他的鑰匙可能被盜也可以手動刪除 從註冊表中的產品密鑰,使用此命令行:SLMGR -cpky (cpky =明確的產品密鑰=從註冊表中刪除產品密鑰)

相關問題