2016-12-17 95 views
0

我一直在尋找一種方式來獲得用戶的HWID使用這樣的:How to fast get Hardware-ID in C#?UnityEngine .NET 3.5獲取硬件ID不System.Management

,但失敗了。 System.Management在UnityEngine 4上沒有完全移植,我需要找到一個替代方案,以便獲取CPUID或其他東西。

任何想法?

+0

僅供參考,CPUID不是計算機專用的,相同型號類型的所有處理器都共享相同的CPUID。 CPUID中的唯一ID在上個世紀90年代後期隨着奔騰處理器的誕生而停止。 –

+0

然後BIOS ID會更適用。 – DreTaX

+0

大多數BIOS不會發布它,並且默認情況下會禁用它。你打算只讓你的遊戲在Windows上運行嗎?如果是的話,你可以做一些簡單的選擇。 –

回答

2

使用SystemInfo.deviceUniqueIdentifier它是建立在統一。但是有一點需要檢查,如果它運行在一個無法獲取唯一ID的平臺上,它可以返回SystemInfo.unsupportedIdentifier的值。

using UnityEngine; 

public class NewBehaviourScript : MonoBehaviour 
{ 
    void Start() { 
     if (SystemInfo.unsupportedIdentifier != SystemInfo.deviceUniqueIdentifier) 
     { 
      // use SystemInfo.deviceUniqueIdentifier 
     } 
    } 
} 

確保您正在運行Unity 4.6.2或更高版本的there was a bug for it on linux not returning consistent values但它是固定在4.6.2。

+0

Well R.I.P.我在4.5.5f1上,因爲我把自己變成了遊戲dll,所以無法改變。謝謝,但應該沒問題。人們可以改變嗎? – DreTaX