VS或windows用代码产生GUID

1     //GUID生成代码
2     GUID guid;
3     ZeroMemory(&guid,sizeof(guid));
4     ::CoCreateGuid(&guid);
5     char bufstring[32 + 1] = {0};
6     sprintf_s(bufstring,"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",guid.Data1,guid.Data2,guid.Data3,
7               guid.Data4[0],guid.Data4[1],guid.Data4[2],guid.Data4[3],guid.Data4[4],guid.Data4[5],guid.Data4[7],guid.Data4[7]);
8     printf("%s\n",bufstring);

注:1、格式化字符串函数中"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",如果x为小写,则产生的GUID中包含的字母为小写字母。

      如果x为大写字母,则产生的GUID中包含的字母为大写。

      2、本例中的为小写

      3、头文件#include <windows.h>,如果包含windows.h这个头文件编译不过的话用头文件#include <combaseapi.h>//产生guid的头文件

posted @ 2017-12-21 10:22  冥天笑  阅读(1963)  评论(0编辑  收藏  举报