如何在MFC中创建一个guid

Jon*_*nek 10 c++ mfc guid

我需要能够动态创建guid.有没有办法在MFC中这样做?我知道如何在.net中做到这一点,但我们还没有去过那里.如果没有,你有指向我可以使用的一些代码的指针吗?

wpq*_*pqs 13

   //don't forget to add Rpcrt4.lib to your project

    CString m_ListID(L"error");
    RPC_WSTR guidStr;
    GUID guid;
    HRESULT hr = CoCreateGuid(&guid);
    if (hr == S_OK)
    {
        if(UuidToString(&guid, &guidStr) == RPC_S_OK)
        {
            m_ListID = (LPTSTR)guidStr;
            RpcStringFree(&guidStr);
        }
    }
Run Code Online (Sandbox Code Playgroud)


Mit*_*eat 12

GUID guid;
HRESULT hr = CoCreateGuid(&guid); 

// Convert the GUID to a string
_TUCHAR * guidStr;
UuidToString(&guid, &guidStr);
Run Code Online (Sandbox Code Playgroud)

应用程序负责调用RpcStringFree以释放为StringUuid参数中返回的字符串分配的内存.


Joh*_*bly 6

您可以使用COM函数CoCreateGuid,例如:

GUID guid;
HRESULT hr = CoCreateGuid(&guid);
Run Code Online (Sandbox Code Playgroud)


Edo*_* A. 5

使用函数UuidCreate生成GUID:

UUID generated;

if (::UuidCreate(&generated) != RPC_S_OK)
throw std::exception(...);
Run Code Online (Sandbox Code Playgroud)