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

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

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

三叶资源网 2018-12-30 16:45:03 易语言模块源码 2862 ℃ 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注册Flutter技术入门与实战后台截图自动售卡黑月教程彩虹秒赞网快手DLL劫持源码正则易语言视频教程京东M端点选源码minidump音乐播放器YY自定义颜色新浪微博百度云防护Yy多频道人数查询通用对话框类webqq酷Q插件
最新评论