Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Как получить GUID?


Автор: Alca 16.12.2008, 14:45
Как получить (сгенерить) GUID?

Автор: ama_kid 16.12.2008, 14:55
http://msdn.microsoft.com/en-us/library/ms688568(VS.85).aspx?

Автор: 586 16.12.2008, 15:49
Visual Studio 6
C:\Program Files\Microsoft Visual Studio\Common\Tools\GUIDGEN.exe

Visual Studio 8
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\guidgen.exe
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\GuidGen.exe

Автор: Andrey44 16.12.2008, 16:17
VS8->Tools->Create GUID

Автор: Alca 16.12.2008, 16:41
Код

void CtestGUIDDlg::OnBnClickedButton1()   
{   
    CString strGuid;   
    GUID *m_guid=new GUID;   
   
    memset(m_guid,0,sizeof(GUID));   
    if(m_guid)   
    {   
        CoCreateGuid(m_guid);   
        strGuid.Format(_T("%d-%d-%d-%d"),m_guid->Data1,m_guid->Data2,m_guid->Data3,m_guid->Data4);   
        AfxMessageBox(strGuid);   
        delete m_guid;   
    }   
}  

Еще:
http://www.codeguru.com/cpp/v-s/devstudio_macros/add-ins/article.php/c5985/
Вопрос решен!

Автор: Andrey44 17.12.2008, 08:16
Alca, извиняюсь за вопрос но зачем играться с памятью?
Можно-же сделать проще
Код

void OnBnClickedButton1()   
{   
    CString strGuid;   
    GUID m_guid;   

    memset(&m_guid,0,sizeof(GUID));   
    CoCreateGuid(&m_guid);   
    strGuid.Format(_T("%d-%d-%d-%d"),m_guid.Data1,m_guid.Data2,m_guid.Data3,m_guid.Data4);   
    MessageBox(strGuid);   
}  

Зачем все эти лишние выделения памяти вручную?

Автор: Alca 17.12.2008, 10:07
Я так и сделал. Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)