MFC中获取GUID

GUID:全局唯一标识 GUID(Global Unique Identifier)

复制代码
// 获取全局唯一标识 GUID(Global Unique Identifier) 头文件 include <objbase.h>
CString GetGUID()
{
    GUID guid;
    OLECHAR arrGUID[39]={0};
    CoCreateGuid(&guid);
    int ret = StringFromGUID2(guid, arrGUID, 39);
    return CString(arrGUID); // "{C876CF2F-8831-4AE1-AEAB-CFDA78EED36D}"
}
复制代码

复制代码
std::string GuidToString(const GUID &guid)
{
    char buf[39] = { 0 };
    sprintf_s(buf, sizeof(buf),
        "{%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]);
    return std::string(buf);
}
//使用
    GUID guid;
    LRESULT ret = ::CoCreateGuid(&guid);//成功,返回0,即 S_OK
    std::string s2 = GuidToString(guid);
复制代码

 2. 使用Poco,参考Poco学习(二)

复制代码
// GUID 或者 UUID
#include <Poco/UUIDGenerator.h>
int main()
{
    Poco::UUID uuid;
    try
    {
        uuid = Poco::UUIDGenerator::defaultGenerator().create();//Creates a new time-based UUID
        std::string sRet = uuid.toString();//67440b59-4ad8-3f74-8bab-8b4ae76b4fc3
    }
    catch (Poco::Exception& exc)
    {
        std::cerr << exc.displayText() << std::endl;
        return 1;
    }
    return 0;
}
复制代码

 

 

 

 

 

 

 

----------------------------

https://blog.csdn.net/semicloud/article/details/89332018

 

posted @   htj10  阅读(820)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2018-03-14 傅里叶级数(FS)以及FT、DTFT、DFS和DFT
TOP
点击右上角即可分享
微信分享提示