您的位置:首页 > 其它

vfp:获取com对象的注册信息

2009-12-19 19:59 302 查看
可利用函数COMCLASSINFO(),代码如下:

FOR i=1 to 5
x=COMCLASSINFO(thisform.Olecontrol1,i)
thisform.list1.AddItem(x)
endfor

==========================================
返回有关一个 COM 对象(例如一个 Visual FoxPro 自动服务程序)的注册信息。
COMCLASSINFO(oObject [, nInfoType])
返回值
字符型
参数
oObject
对一个 COM 或 OLE 对象的对象引用。
nInfoType
指定要返回的信息类型。下表列出了 nInfoType 的值,以及所返回的信息。 nInfoType所返回的信息
1 (默认值)对象的程序标识符 (ProgID)。一个 ProgID 是与 CLSID 相关的注册项
2对象的 VersionIndependentProdID。VersionIndependentProgID 使得一个 ProgID 与 CLSID相关。它用于确定一个对象应用程序的最新版本,引用该应用程序的类,而且不同版本的VersionIndependentProgID 相同。
3对象的友好名称
4对象的类标识符 (CLSID)。CLSID 是全局唯一的标识符,它标识了一个 COM 类对象。
5对象传递的类型:
返回值 说明
1 Visual FoxPro 对象
2 ActiveX 控件
3 COM 组件
4 OLEBound 对象 (通用字段)
备注
如果指定对象的注册信息不可用,COMCLASSINFO()返回空字符串。Visual FoxPro 自动服务程序是 COM 对象,是在项目管理器中创建的 .exe 执行文件或 .dll 动态链接库。
如果像以下代码一样用 CREATEOBJECT() 创建一个 ActiveX 控件的实例, nInfoType 返回 3 (COM 组件) 而不是 2。
X=CREATEOBJECT("mscomctlib.treectrl.2")
要返回 2 (ActiveX 控件) 你必须象以下代码一样使用对象:
ox.addobject("oc","olecontrol","mscomctlib.treectrl.2")
本文出自 “风起云涌” 博客,请务必保留此出处http://gzkhrh.blog.51cto.com/30447/245889
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: