为编程爱好者分享易语言教程源码的资源网

网站首页 > 易语言相关 > 易语言模块源码 正文

易语言获取COM对象的类型名称

三叶资源网 2018-12-30 16:45:03 易语言模块源码 3838 ℃ 9 评论

易语言获取COM对象的类型名称

@ybhacker

.版本 2

.子程序 _临时子程序
.局部变量 Object, 对象

Object.创建 (“WinHttp.WinHttpRequest.5.1”, )
信息框 (GetObjectClassName (Object), 0, , )

.子程序 GetObjectClassName, 文本型, 公开, 获取对象类型名称
.参数 object, 对象
.局部变量 IDispatch, 对象
.局部变量 ITypeInfo, 对象
.局部变量 pName, 整数型, , , ' 本源码来自三叶资源网(www.sanye.cx)
.局部变量 len, 整数型
.局部变量 buffer, 文本型

IDispatch.取接口 (object, #IID_IDispatch)
CallInstanceMethod (IDispatch, 4, #NULL, #NULL, P_OBJECT (ITypeInfo))
CallInstanceMethod (ITypeInfo, 12, -1, P_DWORD (pName), #NULL, #NULL, #NULL)
len = WideCharToMultiByte (936, #NULL, pName, -1, 字符 (0), #NULL, #NULL, #NULL)
buffer = 取空白文本 (len)
WideCharToMultiByte (936, #NULL, pName, -1, buffer, 取文本长度 (buffer), #NULL, #NULL)
返回 (buffer)

.子程序 CallInstanceMethod, 整数型, , 动态调用COM接口方法
.参数 Instance, 对象
.参数 Index, 整数型
.参数 arg1, 整数型, 可空
.参数 arg2, 整数型, 可空
.参数 arg3, 整数型, 可空
.参数 arg4, 整数型, 可空
.参数 arg5, 整数型, 可空
.参数 arg6, 整数型, 可空
.参数 arg7, 整数型, 可空
.参数 arg8, 整数型, 可空
.参数 arg9, 整数型, 可空
.参数 arg10, 整数型, 可空
.局部变量 This, 整数型
.局部变量 parms, 整数型, , "0"

This = pDWORD (P_OBJECT (Instance))
加入成员 (parms, This)
.计次循环首 (1, )
    .如果 (是否为空 (arg1))
        跳出循环 ()
    .否则
        加入成员 (parms, arg1)
    .如果结束
    .如果 (是否为空 (arg2))
        跳出循环 ()
    .否则
        加入成员 (parms, arg2)
    .如果结束
    .如果 (是否为空 (arg3))
        跳出循环 ()
    .否则
        加入成员 (parms, arg3)
    .如果结束
    .如果 (是否为空 (arg4))
        跳出循环 ()
    .否则
        加入成员 (parms, arg4)
    .如果结束
    .如果 (是否为空 (arg5))
        跳出循环 ()
    .否则
        加入成员 (parms, arg5)
    .如果结束
    .如果 (是否为空 (arg6))
        跳出循环 ()
    .否则
        加入成员 (parms, arg6)
    .如果结束
    .如果 (是否为空 (arg7))
        跳出循环 ()
    .否则
        加入成员 (parms, arg7)
    .如果结束
    .如果 (是否为空 (arg8))
        跳出循环 ()
    .否则
        加入成员 (parms, arg8)
    .如果结束
    .如果 (是否为空 (arg9))
        跳出循环 ()
    .否则
        加入成员 (parms, arg9)
    .如果结束
    .如果 (是否为空 (arg10))
        跳出循环 ()
    .否则
        加入成员 (parms, arg10)
    .如果结束

.计次循环尾 ()
返回 (CallWindowProcMethod ({ 85, 139, 236, 86, 139, 117, 16, 141, 78, 255, 133, 201, 124, 21, 139, 69, 12, 141, 4, 136, 65, 139, 16, 137, 85, 16, 255, 117, 16, 131, 232, 4, 73, 117, 242, 255, 85, 8, 137, 69, 12, 139, 69, 20, 133, 192, 116, 13, 141, 4, 181, 0, 0, 0, 0, 137, 69, 16, 3, 101, 16, 139, 69, 12, 94, 93, 194, 16, 0 }, pDWORD (pDWORD (This) + Index × 4), parms, 取数组成员数 (parms), 假))

.子程序 P_OBJECT, 整数型, 公开, 取对象指针
.参数 Object, 对象, 参考

置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
' mov eax,[ebp+8]
' mov eax,[eax]
' leave
' retn 04
返回 (0)

.子程序 P_DWORD, 整数型, 公开, 取整数型指针
.参数 DWORD, 整数型, 参考, 整数

置入代码 ({ 139, 69, 8, 137, 236, 93, 194, 4, 0 })
返回 (0)' 本源码来自三叶资源网(www.sanye.cx)

.子程序 pDWORD, 整数型, 公开, 读指针整数
.参数 Pointer, 整数型, , 指针

置入代码 ({ 49, 192, 129, 125, 8, 0, 0, 1, 0, 126, 9, 139, 69, 8, 133, 192, 116, 2, 139, 0, 137, 236, 93, 194, 4, 0 })
返回 (0)


文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有9位网友发表了看法:

  • 资源网

    资源网  评论于 [2019-05-28 17:07:19]  回复

    易语言对象增强模块

  • 资源网

    资源网  评论于 [2019-05-28 17:12:49]  回复

    易语言对象操作模块

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
酷Q十天学会易语言EtorchQQ音乐加速器热文采集CMD输出appium模块sign算法虎牙登录源码websocket文件编码检测大众点评QQ群签到SendMessage文字游戏源码百度云计算图片识别md5效验公众号短链接JS加密cnzz统计
最新评论