char* GenerateGuid()
{
char* guidBuf;
guidBuf = (char *)malloc(64);
GUID guid;
CoInitialize(NULL);
if (S_OK == CoCreateGuid(&guid))
{
_snprintf(guidBuf, 64, "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X",
guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3],
guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]);
}
CoUninitialize();
return guidBuf;
}
生成wstring格式的:
wstring GenerateGuid()
{
wchar_t *guidStr = NULL;
GUID *pguid = new GUID;
CoCreateGuid(pguid);
// Convert the GUID to a string
UuidToString(pguid, (RPC_WSTR*)&guidStr);
delete pguid;
return wstring(guidStr);
}
如果出現鏈接錯誤,請將Rpcrt4.lib鏈接庫加入到鏈接器輸入中去。