2017-08-05 33 views
-3

我想编写一个函数,该函数可以生成一个链接到运行我的软件的PC/Mac的GUID。我了解到,我可以从CPU,主板或以太网卡序列号开始生成GUID。 问题是我找不到用Delphi语言编写的函数,可以在Windows和Mac OSX中使用。 函数应该有这个原型: function GetGUID():string;在Delphi中为Windows和Mac OSx生成GUID

+0

你有什么试过的?我们不会为你完成所有的工作。 – numbermaniac

+1

我已经尝试过,看到所有的功能,我可以找到围绕网络搜索关键字'cpu序列号德尔福','硬盘序列号德尔福'等,我提出这个问题,因为不存在的答案,我认为我的问题可以像规则说的那样对这个社区有用。我无法理解我的问题。 – Anthares

+1

GUIDs现在不是基于CPU /主板或类似硬件,AFAIK。如果这是为了某种软件保护,我认为它不会起作用。 –

回答

3

SysUtils.pas你有下面的函数,它是跨平台的:

function CreateGUID(out Guid: TGUID): HResult; 

并且在更新版本的Delphi,您可以拨打TGUID.NewGUID帮手。

顺便说一下,这个功能也可以在FreePascal RTL上使用,在所有平台上...

+0

Thx为你的答案,但createguid在运行时创建一个GUID。我想要一个串口喜欢PC的硬件我运行我的软件,为此我谈论硬盘或CPU序列号。 – Anthares

+0

@Anthares它没有多大意义。 GUID背后的理念是独一无二的。因此,如果您在一台PC上生成它,它不仅适用于此PC,而且适用于任何PC。如果你想**识别预计要运行的PC,这不是一个GUID,而是一些键或序列。有关创建UUID的官方方式 - 请参阅https://en.wikipedia.org/wiki/Universally_unique_identifier –