GUIDGEN 示例:生成全局唯一标识符 (GUID)

更新:2007 年 11 月

GUIDGEN 示例是简单的基于对话框的 MFC 应用程序,它可以在您编写 ActiveX 应用程序时对您有所帮助。GUIDGEN 可用于生成全局唯一标识符(即 GUID),GUID 标识类、对象和接口。

除作为基于对话框的应用程序之外,GUIDGEN 还说明 MFC 应用程序是如何将文本数据粘贴到剪贴板的。GUIDGDLG.CPP 文件中的 CGuidGenDlg::OnOK 函数说明如何可以调用 OpenClipboardSetClipboardData 来完成此任务。该应用程序还说明如何调用 CoCreateGuid API 来从操作系统请求新的 GUID。在 CGuidGenDlg::OnNewguid 中查找此代码,它还位于 GUIDGDLG.CPP 文件中。

安全说明:

提供该示例代码是为了阐释一个概念,并不代表着最安全的编码实践,因此不应在应用程序或网站中使用该示例代码。对于超出本示例代码的预期用途以外的使用所造成的偶然或继发性损失,Microsoft 不承担任何责任。

获取示例和安装示例的说明:

  • 在 Visual Studio 的“帮助”菜单上,单击“示例”。

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 Samples page(Visual Studio 2008 示例页面)联机获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9.0\Samples\ 下的文件夹中。对于 Visual Studio 速成版,所有示例都位于联机位置。

运行示例

如果已安装了 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 示例