2012-06-09 47 views
1

我有一個應用程序,我想通過要求我的用戶註冊來進行保護。 我也想確保它們不能安裝在兩臺以上的機器上。 爲此,我需要知道在哪裏可以找到唯一的硬件ID號碼,並在註冊碼中使用它。 我需要知道的是如何使用代碼獲取該數字。VB.NET上的唯一硬件ID

+0

你可能想看看這個[SO問題](http://stackoverflow.com/q/9039212/479512)它是在C#中,但應該給你和想法。 –

+0

可能的重複[VB.net獨特的硬件ID想法](http://stackoverflow.com/questions/2994549/vb-net-unique-hardware-id-ideas) –

回答

2

正如其他人所指出的那樣,確實沒有獨特的硬件ID這樣的東西。在嘗試使用各種東西(例如,主板序列號,CPU序列號,HDD序列號,MAC地址)或這些事物的組合之前,其他人已經來過,但它們都以各自的方式出現問題。序列號並不總是由所有驅動程序返回,即使它們這樣做,如果硬件升級或更換,它們也可以輕鬆更改。此外,序列號在技術上可以由不同的供應商重複使用,尤其是在虛擬機上。 MAC地址是有問題的,因爲通常有多個,並且它們經常變化,特別是對於VPN。另外,MAC地址通常由多臺機器使用相同的VPN軟件複製。您可以使用Windows安裝序列號,但這也可以複製並隨操作系統升級而更改。簡單的答案是,如果可能的話,不要。如果您必須這樣做,最好有一種方法可以通過編寫加密的GUID到硬盤上的某個位置來以編程方式標記每檯安裝有軟件的計算機,併爲您的支持人員提供一種簡便的機制來重新存儲任何計算機隨意。