vb GetObject 有2个函数吗
GetObject一个是图形API函数,一个是VB自带函数“返回文件中的ActiveX对象的引用”‘’‘’‘’‘’‘’‘’‘’‘’‘’怎样去区别,同时用到2种功能需要怎样...
GetObject
一个是图形API函数,
一个是VB自带函数“返回文件中的 ActiveX 对象的引用”
‘’‘’‘’‘’‘’‘’‘’‘’‘’怎样去区别,同时用到2种功能需要怎样去申明? 展开
一个是图形API函数,
一个是VB自带函数“返回文件中的 ActiveX 对象的引用”
‘’‘’‘’‘’‘’‘’‘’‘’‘’怎样去区别,同时用到2种功能需要怎样去申明? 展开
2个回答
展开全部
可以用CoCreateInstance 更方便的使用智能指针。
用指定的 类标识符创建一个Com对象,用指定的类 标识符创建一个未初始化的对象。
当在本机中只创建一个对象时,可以调用CoCreateInstance;在远程系统中创建一个对象时,可以调用CoCreateInstanceEx;创建多个同一CLSID的对象时, 可以参考 CoGetClassObject 函数。
函数原形:
STDAPI CoCreateInstance(
REFCLSID rclsid, //创建的Com对象的 类标识符(CLSID)
LPUNKNOWN pUnkOuter, //指向接口IUnknown的 指针
DWORD dwClsContext, //运行 可执行代码的上下文
REFIID riid, //创建的Com对象的接口 标识符
LPVOID * ppv //用来接收指向Com对象接口地址的 指针变量
);
参数:
rclsid
[in] 用来唯一标识一个对象的CLSID(128位),需要用它来创建指定对象。
pUnkOuter
[in] 如果为NULL, 表明此对象不是聚合式对象一部分。
如果不是NULL, 则 指针指向一个聚合式对象的IUnknown接口。
dwClsContext
[in] 组件类别. 可使用CLSCTX枚举器中预定义的值.
用指定的 类标识符创建一个Com对象,用指定的类 标识符创建一个未初始化的对象。
当在本机中只创建一个对象时,可以调用CoCreateInstance;在远程系统中创建一个对象时,可以调用CoCreateInstanceEx;创建多个同一CLSID的对象时, 可以参考 CoGetClassObject 函数。
函数原形:
STDAPI CoCreateInstance(
REFCLSID rclsid, //创建的Com对象的 类标识符(CLSID)
LPUNKNOWN pUnkOuter, //指向接口IUnknown的 指针
DWORD dwClsContext, //运行 可执行代码的上下文
REFIID riid, //创建的Com对象的接口 标识符
LPVOID * ppv //用来接收指向Com对象接口地址的 指针变量
);
参数:
rclsid
[in] 用来唯一标识一个对象的CLSID(128位),需要用它来创建指定对象。
pUnkOuter
[in] 如果为NULL, 表明此对象不是聚合式对象一部分。
如果不是NULL, 则 指针指向一个聚合式对象的IUnknown接口。
dwClsContext
[in] 组件类别. 可使用CLSCTX枚举器中预定义的值.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没错 GetObject有两个函数
Function GetObject([PathName], [Class])
VBA.Interaction 的成员
返回一个文件到 ActiveX 对象的引用
API函数
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
该函数得到指定图形对象的信息,根据图形对象,函数把填满的或结构,或表项(用于逻辑调色板)数目放入一个指定的缓冲区。
当有API声明时 系统优先默认为API
Function GetObject([PathName], [Class])
VBA.Interaction 的成员
返回一个文件到 ActiveX 对象的引用
API函数
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
该函数得到指定图形对象的信息,根据图形对象,函数把填满的或结构,或表项(用于逻辑调色板)数目放入一个指定的缓冲区。
当有API声明时 系统优先默认为API
更多追问追答
追问
同时出现时 VB的GetObject参数该怎样处理 Set cpuSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Processor")
追答
你可以自己试试
先把APi声明进去
然后两个Command控件
一个运行APi 一个运行自带函数 看看结果
不过我估计运行自带的时候会显示参数不对
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询