中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > PHP > PHP综合
如何使用脚本来创建 GUID?
作者:未知 时间:2005-09-13 23:32 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:如何使用脚本来创建 GUID?
问:
您好,脚本专家!我们需要使用唯一标识号来跟踪某些项目。我的上司建议我们使用 GUID 来实现这个目的。有什么办法可以使用脚本来创建 GUID 呢?

-- DX

答:
您好,DX。GUID(全局唯一标识符)适用于完成类似以下内容的任务;我们自认为并不了解 GUID 所基于的算法,但我们几乎可以肯定地讲,您生成的每一个 GUID 都是唯一的。尽管在理论上存在生成重复 GUID 的可能性,但 Bill Gates 将他所有的钱都送给脚本专家的可能性在理论上也是存在的。我们还是不要在这两种可能性上劳神才是。

实际上,可以使用一种非常简单的方法来生成 GUID,但这种方法近乎像是作弊。(您可听清楚了,我们说的可是“近乎”。)“Scriptlet.TypeLib”对象的设计用途是帮助您创建“Windows 脚本组件”(实质上,这是一种使您编写的脚本可以像 COM 对象那样工作的方法)。Scriptlet.Typelib 对象包含一种方法,它可以生成与“Windows 脚本组件”类型库一起使用的 GUID;不过,没有理由不能使用该方法来生成用于其他用途的 GUID。(毕竟,GUID 就是 GUID。)如果您需要 GUID,下面这个由两行代码组成的脚本就可为您提供一个:

Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid

还不赖,是吧?当然,这个脚本所做的只是在消息框中回显 GUID;如果实际上要在其他地方使用该 GUID,就必须将其键入。如果不是由于 GUID 像如下内容那么冗长,这倒也不算什么难事:



因此,像我们这样乐于助人又喜欢标榜自己的家伙,当然要对脚本略做修改了。以下脚本可生成 GUID,然后将其复制到剪贴板,而不是显示在消息框中:

Set TypeLib = CreateObject("Scriptlet.TypeLib")
strGUID = TypeLib.Guid

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.document.parentwindow.clipboardData.SetData "text", strGUID
objIE.Quit

如果您想知道我们是怎样做到的,实际上,我们又耍弄了一个小伎俩。VBScript 无法将项目复制到剪贴板,但 Internet Explorer 可以。因此,我们只是生成 GUID,然后将该值存储在名为 strGUID 的变量中。接着,创建一个不可见的 Internet Explorer 实例,并使用“clipboardData.SetData”方法将该 GUID 复制到剪贴板。可使用以下这行代码来执行这项操作:

objIE.document.parentwindow.clipboardData.SetData "text", strGUID

退出 Internet Explorer,现在您想要在哪里使用该 GUID,就可以将其粘贴到哪里。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有