
易语言怎么取外部软件上面指定的某个地方的文本内容?
易语言怎么取外部软件上面指定的某个地方的文本内容?我用spy4获取了窗口的基本信息,也取出了句柄等!我该怎么用易语言来取我要的内容呢!...
易语言怎么取外部软件上面指定的某个地方的文本内容?我用spy4获取了窗口的基本信息,也取出了句柄等!我该怎么用易语言来取我要的内容呢!
展开
3个回答
2017-07-24
展开全部
.版本 2
.DLL命令 lstrcpynA_文本, 整数型, "kernel32", "lstrcpynA"
.参数 lpString1, 文本型, 传址
.参数 lpString2, 文本型, 传址
.参数 iMaxLength, 整数型
.DLL命令 SendMessageA, 整数型, "user32.dll", "SendMessageA"
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.版本 2
.子程序 窗口_取控件内容, 文本型, , 取指定窗口的标题。成功返回窗口标题,失败返回空。
.参数 控件句柄, 整数型
.局部变量 控件内容, 文本型
.局部变量 总字符数, 整数型
.局部变量 临时整数, 整数型
总字符数 = SendMessageA (控件句柄, 14, 0, 0) + 1
.如果 (总字符数 > 50000)
临时整数 = 50000
控件内容 = 取空白文本 (临时整数)
SendMessageA (控件句柄, 13, 临时整数 + 1, lstrcpynA_文本 (控件内容, 控件内容, 0))
.如果真 (取代码 (取文本右边 (控件内容, 1), ) < 0)
控件内容 = 取文本左边 (控件内容, 取文本长度 (控件内容) - 1)
.如果真结束
控件内容 = 控件内容 + “...后面略掉” + 到文本 (总字符数 - 临时整数) + “个字符...”
.否则
控件内容 = 取空白文本 (总字符数)
SendMessageA (控件句柄, 13, 总字符数, lstrcpynA_文本 (控件内容, 控件内容, 0))
.如果结束
返回 (控件内容)
'以上的信息直接复制往易语言里面粘贴就可以了,值得注意的是,控件的句柄如果去取
'你的问题中有说到能取到它的窗口句柄,那么我也能相信你能遍历它窗口下的所有句柄
'遍历窗口子句柄(控件ID)的排序是一致的,无需担心它的排序会发生变化
.DLL命令 lstrcpynA_文本, 整数型, "kernel32", "lstrcpynA"
.参数 lpString1, 文本型, 传址
.参数 lpString2, 文本型, 传址
.参数 iMaxLength, 整数型
.DLL命令 SendMessageA, 整数型, "user32.dll", "SendMessageA"
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.版本 2
.子程序 窗口_取控件内容, 文本型, , 取指定窗口的标题。成功返回窗口标题,失败返回空。
.参数 控件句柄, 整数型
.局部变量 控件内容, 文本型
.局部变量 总字符数, 整数型
.局部变量 临时整数, 整数型
总字符数 = SendMessageA (控件句柄, 14, 0, 0) + 1
.如果 (总字符数 > 50000)
临时整数 = 50000
控件内容 = 取空白文本 (临时整数)
SendMessageA (控件句柄, 13, 临时整数 + 1, lstrcpynA_文本 (控件内容, 控件内容, 0))
.如果真 (取代码 (取文本右边 (控件内容, 1), ) < 0)
控件内容 = 取文本左边 (控件内容, 取文本长度 (控件内容) - 1)
.如果真结束
控件内容 = 控件内容 + “...后面略掉” + 到文本 (总字符数 - 临时整数) + “个字符...”
.否则
控件内容 = 取空白文本 (总字符数)
SendMessageA (控件句柄, 13, 总字符数, lstrcpynA_文本 (控件内容, 控件内容, 0))
.如果结束
返回 (控件内容)
'以上的信息直接复制往易语言里面粘贴就可以了,值得注意的是,控件的句柄如果去取
'你的问题中有说到能取到它的窗口句柄,那么我也能相信你能遍历它窗口下的所有句柄
'遍历窗口子句柄(控件ID)的排序是一致的,无需担心它的排序会发生变化
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询