1.
int main()
{
CoInitialize(NULL);
char zGuid[64] = {0};
GUID guid;
if (S_OK == ::CoCreateGuid(&guid))
{
_snprintf(zGuid, sizeof(zGuid)
, "{%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();
}
2.
#include <rpcdce.h>
#pragma comment(lib, "Rpcrt4.lib")
int main()
{
UUID f_Uuid;
RPC_STATUS rst = UuidCreateSequential( &f_Uuid );
if ((RPC_S_OK != rst) && (RPC_S_UUID_LOCAL_ONLY != rst))
{
return ;
}
RPC_CSTR szUuid = NULL;
rst = UuidToString( &f_Uuid, &szUuid );
RpcStringFree( &szUuid );
return ;
}