65.9K
CodeProject 正在变化。 阅读更多。
Home

用于 Visual Studio.NET 的 GUIDGen AddIn

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.55/5 (9投票s)

2002年3月1日

CPOL

2分钟阅读

viewsIcon

112937

downloadIcon

1500

一个用于替换和扩展 Visual Studio.NET 自带的 GUID 生成器组件的插件。

版本 2.1 有什么新功能?

描述

GUIDGen.NET 是一个用于替换和扩展 Visual Studio.NET 自带的 GUID 生成器组件的插件。

  • 它支持标准组件提供的所有格式,外加两种常用的格式。
  • 能够直接将结果插入到 IDE 的文本编辑器中,而无需从剪贴板粘贴。
  • 使用当前设置插入新的 GUID,无需显示 UI。
  • 可以选择在主格式化 GUID 之前包含一个未格式化的 GUID 作为注释。
  • 可以选择生成“经典” GUID:由 UuidCreateSequential 而非 UuidCreate 生成的 GUID。出于安全原因,UuidCreate 进行了修改,不再使用机器的 MAC 地址来生成 UUID。引入了 UuidCreateSequential 以允许使用机器以太网卡的 MAC 地址创建 UUID。
  • 使用小写或大写字符创建 GUID。
  • 使用 RUNDLL32 在独立模式下运行。只需创建一个指向 rundll32.exe <path>\GuidGenNet.dll,ShowDialog 的快捷方式
  • 在宏中使用两个命名命令:GGShowDialogGGInsertGUID。第一个命令显示 UI,第二个命令使用当前设置直接在文本编辑器中插入 GUID。
  • 默认快捷键:GGShowDialog(alt+g,alt+d) 和 GGInsertGUID(alt+g,alt+i)

安装

只需双击 GuidGenNetSetup.msi 文件。

用法

要使用 GUIDGen 插件,请单击插件按钮并选择一个选项。然后,该插件将在当前活动文档中以所选格式插入新的 GUID,或将文本复制到剪贴板。

支持的格式

  1. 使用 IMPLEMENT_OLECREATE
    // {DEF47E1-E23A-11D3-B4D0-8208CCE0C829}
    IMPLEMENT_OLECREATE(<< class >>, << external_name >>,
    0x0DEF47E1, 0xE23A, 0x11D3, 0xB4, 0xD0, 0x82, 0x08, 
      0xCC, 0xE0, 0xC8, 0x29);
  2. 使用 DEFINE_GUID
    // {DEF47E6-E23A-11D3-B4D0-8208CCE0C829}
    DEFINE_GUID(<< name >>,
    0xDEF47E6, 0xE23A, 0x11D3, 0xB4, 0xD0, 0x82, 0x08, 0xCC,
      0xE0, 0xC8, 0x29);
  3. 创建静态 GUID
    // {DEF47E8-E23A-11D3-B4D0-8208CCE0C829}
    static const GUID << name >> = { 0xDEF47E8, 0xE23A, 0x11D3, 
      { 0xB4, 0xD0, 0x82, 0x08, 0xCC, 0xE0, 0xC8, 0x29 } };
  4. 使用标准注册表格式
    {DEF47EA-E23A-11D3-B4D0-8208CCE0C829}
  5. 使用“纯”的、未装饰的格式
    DEF47EC-E23A-11D3-B4D0-8208CCE0C829
  6. 使用 uuid() 格式
    __declspec(uuid("DEF47EE-E23A-11D3-B4D0-8208CCE0C829"))

当选择前三种格式中的任何一种时,GUIDGen 将在“批处理模式”下工作,每次单击“插入”或“复制”按钮时都会创建一个新的 GUID,但对话框不会关闭。当按下“退出”按钮时,对话框将关闭。对于其他格式,对话框将在按下按钮后关闭。

更新

版本 2.1 (05/18/04)

  • 增加了对 Visual Studio 2003 的支持
  • 现在可以使用大写或小写字母创建 GUID。
  • 现在支持管理安装。

版本 2.0 (03/01/02)

  • 首次发布
© . All rights reserved.