找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17320|回复: 2

[技术讨论] 谁帮我看下COM对象的概念的描述是否妥当

[复制链接]
发表于 2013-6-25 16:07:49 | 显示全部楼层 |阅读模式
本帖最后由 czjt1234 于 2013-6-25 17:00 编辑

通用唯一识别码,简称UUID

UUID是按开放软件基金会(OSF)制定的算法,由机器产生的128位的数字

格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx (8-4-4-4-12),其中x是十六进制的数字
例如:6F9619FF-8B86-D011-B42D-00C04FC964FF

UUID的格式和长度是固定的

需要UUID的时候,由机器按算法自动产生,不需要一个权威机构来管理

按照该算法标准,理论上不会产生出2个相同的UUID。这也是该算法的目的

目前最广泛应用的UUID,是微软的GUID
其他重要的应用,有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等

UUID的唯一性,在保密性方面需要引起关注
比如,offices2000曾给每一个文档附加UUID,用户看不到,但微软可以读取
理论上,微软就可以根据UUID,在全球范围内锁定该文档是由哪台电脑何时创建的

又如,在iTunes软件中,可以看到每一个iPod、iPad、iPhone的UUID

微软使用UUID,称之为:全局唯一标识符,简称GUID

COM对象使用GUID,称之为;类标识符,简称CLSID

显然这三者的格式是一样的,都具有全球唯一性

--------------------------------------------------------------------------------

COM规范是微软制定的一个编程规范、编程标准

COM组件是按COM规范编写的dll文件或exe文件,可以是微软编写的或第三方编写的

用regsvr32命令注册COM组件后,可以使用COM对象

每个COM对象都有全球唯一的类标识符(CLSID),都有组件接口(属性或方法)

为便于使用,许多COM对象提供了易记的名字ProgID

注意:区分COM对象的唯一标志是CLSID,不能用ProgID区分COM对象
指向同一CLSID的不同ProgID,代表同一个COM对象

如同一个COM对象的不同版本
ProgID:WScript.Shell 和 WScript.Shell.1
CLSID都是:{72C24DD5-D70A-438B-8A42-98424B88AFB8}

比如导入注册表
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\QQ.20147578]
@="Windows Script Host Shell Object"

[HKEY_CLASSES_ROOT\QQ.20147578\CLSID]
@="{72C24DD5-D70A-438B-8A42-98424B88AFB8}"

那么我们就可以用ProgID:QQ.20147578来创建WshShell对象
Dim objWshShell
Set objWshShell = CreateObject("QQ.20147578")
Msgbox objWshShell.CurrentDirectory

编程语言可以指定CLSID或ProgID来使用COM对象。vbs只能指定ProgID

ProgID 在注册表的 HKEY_CLASSES_ROOT
CLSID  在注册表的 HKEY_CLASSES_ROOT\CLSID
当你注册了新的COM组件后,这儿就会增加新的ProgID和CLSID

安装的软件不一样,则不同机器的可用的COM对象也就有多有少
包括微软,每天都有无数的程序员在编写新的COM组件
因此想要找COM对象大全是不可能的

注意,这2个注册表位置并非只保存COM对象的信息
所以注册表里CLSID对应的ProgID并不都能用来创建对象
发表于 2013-6-25 22:00:55 | 显示全部楼层
你不是最喜欢找对象大全么
 楼主| 发表于 2013-6-25 22:48:13 | 显示全部楼层


我今天看了一天,与creatrobject()相关的com对象的概念

你的creatrobject()的运行原理我还没看懂

主要那些函数不清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 15:44 , Processed in 0.018392 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表