2012-04-21 106 views
0

可能重复:
What’s a good way to uniquely identify a computer?如何生成像TeamViewer C#这样的唯一ID?

如上标题,有人知道如何产生类似的TeamViewer一个唯一的ID在C#中牌的目的。

我想调用一个函数,每次像TeamViewer那样应该为PC返回一个唯一ID。我想使用这个硬件ID来进行许可证管理。

+0

你在说UUID/GUID吗?给我们一个你指的是什么的例子。 – 2012-04-21 15:48:34

+1

你在找[Guid.NewGuid](http://msdn.microsoft.com/en-us/library/system.guid.newguid.aspx)吗? – Filburt 2012-04-21 15:54:51

+0

我觉得GUID不是。我希望每次都能在TeamViewer等PC上返回1个唯一ID的呼叫功能。我想使用这个硬件ID来进行许可证管理。 – Shinichi 2012-04-21 23:53:54

回答

3

您可以使用Guid.NewGuid方法

public static Guid NewGuid(); 

每次调用此方法生成新的Guid

编辑:根据您的意见

Windows Management Instrumentation (WMI)是可以使用的东西。例如,您可以使用以下代码来获取系统的BIOS ID。

ManagementObjectSearcher searcher = new 
    ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM 
    Win32_BIOS"); 

foreach (ManagementObject wmi in searcher.Get()) 
{ 
    Console.WriteLine("BIOS Serial Number: " + 
     wmi.GetPropertyValue("SerialNumber").ToString()); 
} 

同样,您可以获取其他系统信息并使用它来生成系统的唯一标识。 Here is a good article on CodeProject从哪里可以得到帮助。请看一看。

+0

我觉得GUID不是。我希望每次都能在TeamViewer等PC上返回1个唯一ID的呼叫功能。我想使用这个硬件ID来进行许可证管理。 – Shinichi 2012-04-21 23:53:45

+0

@Shinichi刚刚更新了我的答案,请看看。 – ABH 2012-04-22 19:22:57