为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

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

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

三叶资源网 2018-12-30 16:45:03 易语言模块源码 2871 ℃ 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
软件群排名QQ空间分享删除易语言做网站WMF图片转BMP卡密生成系统采集网页图片源码Safengine皮肤模块源码Yy多频道人数查询加密壳易语言破解版微信hook链接解析文件批量下载图形控件界面控件配置保存QQPC8.6协议源码文本转义支付宝
最新评论