CreateClassID generates a new GUID and returns it as a string.UnitComObjCategoryCOM utilitiesfunction CreateClassID: string;DescriptionUse CreateClassID to create a new GUID and access it as a string. A demo of the CreateClassID function is available in the Demos area.
它是随机生成的自己用随机数生成
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
var
id:tguid;
begin
if CoCreateGuid(id)=s_ok then
result:=guidtostring(id);
end;
var
vGUID: TGUID;
begin
CoCreateGUID(vGUID);
Caption := GUIDToString(vGUID);
end;循环调用以上方法即可
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End TypePrivate Declare Function CoCreateGuid Lib "OLE32.DLL" (pGuid As GUID) As
LongPublic Function GetGUID() As String
'(c) 2000 Gus MolinaDim udtGUID As GUIDIf (CoCreateGuid(udtGUID) = 0) ThenGetGUID = _
String(8 - Len(Hex$(udtGUID.Data1)), "0") & Hex$(udtGUID.Data1) & _
String(4 - Len(Hex$(udtGUID.Data2)), "0") & Hex$(udtGUID.Data2) & _
String(4 - Len(Hex$(udtGUID.Data3)), "0") & Hex$(udtGUID.Data3) & _
IIf((udtGUID.Data4(0) < &H10), "0", "") & Hex$(udtGUID.Data4(0)) & _
IIf((udtGUID.Data4(1) < &H10), "0", "") & Hex$(udtGUID.Data4(1)) & _
IIf((udtGUID.Data4(2) < &H10), "0", "") & Hex$(udtGUID.Data4(2)) & _
IIf((udtGUID.Data4(3) < &H10), "0", "") & Hex$(udtGUID.Data4(3)) & _
IIf((udtGUID.Data4(4) < &H10), "0", "") & Hex$(udtGUID.Data4(4)) & _
IIf((udtGUID.Data4(5) < &H10), "0", "") & Hex$(udtGUID.Data4(5)) & _
IIf((udtGUID.Data4(6) < &H10), "0", "") & Hex$(udtGUID.Data4(6)) & _
IIf((udtGUID.Data4(7) < &H10), "0", "") & Hex$(udtGUID.Data4(7))
End IfEnd Function
//当然最关键的是Windows提供的Api函数CoCreateGuid() //ole32.dlluses ComObj, ActiveX;(*
//from ComObj.pas
function CreateClassID: string;
var
ClassID: TCLSID;
P: PWideChar;
begin
CoCreateGuid(ClassID);
StringFromCLSID(ClassID, P);
Result := P;
CoTaskMemFree(P);
end;
*)procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := CreateClassID; //function ComObj.CreateClassID
end;procedure TForm1.Button2Click(Sender: TObject);
var
vGUID: TGUID;
begin
CoCreateGuid(vGUID); //function ActiveX.CoCreateGuid
Caption := GUIDToString(vGUID);
end;嘻嘻嘻 伴水 :) 版权所有 嘻嘻嘻嘻
//当然最关键的是Windows提供的Api函数CoCreateGuid() //ole32.dlluses ComObj, ActiveX;(*
//from ComObj.pas
function CreateClassID: string;
var
ClassID: TCLSID;
P: PWideChar;
begin
CoCreateGuid(ClassID);
StringFromCLSID(ClassID, P);
Result := P;
CoTaskMemFree(P);
end;
*)procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := CreateClassID; //function ComObj.CreateClassID
end;procedure TForm1.Button2Click(Sender: TObject);
var
vGUID: TGUID;
begin
CoCreateGuid(vGUID); //function ActiveX.CoCreateGuid
Caption := GUIDToString(vGUID);
end;嘻嘻嘻 伴水 :) 版权所有 嘻嘻嘻嘻