我一直在尋找一種方式來獲得用戶的HWID使用這樣的:How to fast get Hardware-ID in C#?UnityEngine .NET 3.5獲取硬件ID不System.Management
,但失敗了。 System.Management在UnityEngine 4上沒有完全移植,我需要找到一個替代方案,以便獲取CPUID或其他東西。
任何想法?
我一直在尋找一種方式來獲得用戶的HWID使用這樣的:How to fast get Hardware-ID in C#?UnityEngine .NET 3.5獲取硬件ID不System.Management
,但失敗了。 System.Management在UnityEngine 4上沒有完全移植,我需要找到一個替代方案,以便獲取CPUID或其他東西。
任何想法?
使用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。
Well R.I.P.我在4.5.5f1上,因爲我把自己變成了遊戲dll,所以無法改變。謝謝,但應該沒問題。人們可以改變嗎? – DreTaX
僅供參考,CPUID不是計算機專用的,相同型號類型的所有處理器都共享相同的CPUID。 CPUID中的唯一ID在上個世紀90年代後期隨着奔騰處理器的誕生而停止。 –
然後BIOS ID會更適用。 – DreTaX
大多數BIOS不會發布它,並且默認情況下會禁用它。你打算只讓你的遊戲在Windows上運行嗎?如果是的話,你可以做一些簡單的選擇。 –