GUIDGEN 샘플: GUID 생성

업데이트: 2007년 11월

GUIDGEN 샘플은 ActiveX 응용 프로그램의 코드를 작성할 때 사용할 수 있는 간단한 대화 상자 기반 MFC 응용 프로그램입니다. GUIDGEN을 사용하면 클래스, 개체 및 인터페이스를 식별하는 GUID(Globally Unique Identifier)를 생성할 수 있습니다.

GUIDGEN에서는 대화 상자 기반 응용 프로그램으로서의 기능 외에 MFC 응용 프로그램에서 클립보드로 텍스트 데이터를 붙여넣는 방법도 보여 줍니다. GUIDGDLG.CPP 파일의 CGuidGenDlg::OnOK 함수는 OpenClipboardSetClipboardData를 호출하여 이 작업을 수행하는 방법을 보여 줍니다. 또한 이 응용 프로그램에서는 CoCreateGuid API를 호출하여 운영 체제로부터 새 GUID를 요청하는 방법도 보여 줍니다. 마찬가지로 GUIDGDLG.CPP 파일에 있는 CGuidGenDlg::OnNewguid에서 이 코드를 찾을 수 있습니다.

보안 정보:

이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

샘플 실행

Microsoft Visual C++ 제품을 설치한 경우 GUIDGEN 유틸리티(GUIDGEN.EXE)는 \\Microsoft Visual Studio .NET 2003\Common7\Tools에 기본적으로 설치됩니다.

GUID Format 그룹 상자에 있는 라디오 단추는 프로그램에서 생성할 GUID의 형식을 결정합니다.

  • 첫 번째 형식은 MFC의 IMPLEMENT_OLECREATE 매크로를 호출하는 데 사용됩니다.

  • 두 번째 형식은 DEFINE_GUID 매크로에 대한 참조를 생성합니다.

나머지 형식은 정적으로 할당된 GUID와 레지스트리 항목 또는 레지스트리 편집기 스크립트에 포함된 GUID에 적절합니다.

GUID의 형식을 선택한 다음에는 Copy 단추를 사용하여 이를 클립보드로 복사할 수 있습니다. 그런 다음 편집기로 돌아가서 해당 GUID 코드를 응용 프로그램의 소스에 붙여넣을 수 있습니다. 새 GUID를 생성해야 하는 경우에는 New Guid 단추를 클릭합니다.

키워드

이 샘플에서는 다음의 키워드를 보여 줍니다.

AfxGetApp, AfxMessageBox, CDC::DrawIcon, CDC::GetSafeHdc, CDialog::DoModal, CDialog::EndDialog, CDialog::OnInitDialog, CDialog::OnOK, CMenu::AppendMenu, CRect::Height, CRect::Width, CString::Format, CString::GetLength, CString::IsEmpty, CString::LoadString, CWinApp::ExitInstance, CWinApp::InitInstance, CWinApp::SetRegistryKey, CWnd::CenterWindow, CWnd::DoDataExchange, CWnd::GetClientRect, CWnd::GetParent, CWnd::GetSystemMenu, CWnd::IsIconic, CWnd::OnPaint, CWnd::OnQueryDragIcon, CWnd::OnSysCommand, CWnd::OpenClipboard, CWnd::SendMessage, CWnd::SetDlgItemText, CWnd::UpdateData, CloseClipboard, CoInitialize, CoUninitialize, EmptyClipboard, GetForegroundWindow, GetProfileInt, GetSystemMetrics, GlobalAlloc, GlobalLock, GlobalUnlock, LoadIcon, SetClipboardData, memcpy

참고:

이 샘플을 비롯한 일부 샘플은 Visual C++ 마법사, 라이브러리 및 컴파일러의 변경 내용을 반영하도록 수정되지 않았지만 해당 작업의 수행 방법을 보여 줍니다.

참고 항목

기타 리소스

MFC 샘플