次の方法で共有


GUIDGEN サンプル : グローバル一意識別子 (GUID) の生成

更新 : 2007 年 11 月

GUIDGEN サンプルは、単純なダイアログ ベースの MFC アプリケーションであり、ActiveX アプリケーションをコーディングするときに役立ちます。GUIDGEN は、クラス、オブジェクト、およびインターフェイスを識別するグローバル一意識別子 (GUID: Globally Unique Identifier) の生成に使用できます。

GUIDGEN は、ダイアログ ボックス ベースのアプリケーションであるだけでなく、MFC アプリケーションでテキスト データをクリップボードに貼り付ける方法も示します。GUIDGDLG.CPP ファイルの CGuidGenDlg::OnOK 関数では、このタスクを行うために OpenClipboardSetClipboardData を呼び出す方法を示します。このアプリケーションでは、CoCreateGuid API を呼び出してオペレーティング システムから新しい GUID を要求する方法も示します。このコードは、GUIDGDLG.CPP ファイルにある CGuidGenDlg::OnNewguid で探してください。

kw069h38.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

サンプルとそのインストール手順を取得するには

  • Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\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 マクロの呼び出しで使用するようにデザインされています。

  • 2 番目の形式は、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

kw069h38.alert_note(ja-jp,VS.90).gifメモ :

このサンプルを含む一部のサンプルには、Visual C++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。

参照

その他の技術情報

MFC サンプル