2017-08-05 37 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 –