易语言如何获取外部窗口的组件?
我想用易语言写一个程序,运行后获取QQ登陆窗口的密码输入框的位置,求高手放出源码谢谢CHENPENGJUDY,我的意思是通过上级句柄取下级句柄然后判断所在位置,不过还是谢...
我想用易语言写一个程序,运行后获取QQ登陆窗口的密码输入框的位置,求高手放出源码
谢谢CHENPENGJUDY,我的意思是通过上级句柄取下级句柄然后判断所在位置,不过还是谢谢了 展开
谢谢CHENPENGJUDY,我的意思是通过上级句柄取下级句柄然后判断所在位置,不过还是谢谢了 展开
展开全部
.版本 2
.支持库 spec
.支持库 eAPI
.子程序 _按钮1_被单击
.局部变量 句柄, 整数型
.局部变量 WINDOWPLACEMENT, WINDOWPLACEMENT
句柄 = 取指定窗口句柄 (“TXGuiFoundation”, “QQ2012”) ' 取出QQ登陆框的 句柄
.如果真 (句柄 ≠ 0)
' --------------------------QQ登陆窗口的位置-------------------------------
取窗口位置 (句柄, WINDOWPLACEMENT)
调试输出 (“顶边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.top))
调试输出 (“左边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Left))
调试输出 (“右边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Right))
调试输出 (“底边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Bottom))
' ----------------------------密码框的位置--------------------------------
调试输出 (“密码框顶边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.top + 184))
调试输出 (“密码框左边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Left + 120))
模拟鼠标点击 (WINDOWPLACEMENT.rcNormalPosition.Left + 125, WINDOWPLACEMENT.rcNormalPosition.top + 189, 0)
' 取出来的是编辑框的右上角一个点。加多5个坐标,保证能点到编辑框。
模拟按键 (#A键, #B键, #C键)
.如果真结束
“dll命令-----------------
.版本 2
.DLL命令 取窗口位置, 整数型, "user32", "GetWindowPlacement", 公开
.参数 窗口句柄, 整数型
.参数 信息结构, WINDOWPLACEMENT
.DLL命令 取指定窗口句柄, 整数型, , "FindWindowA"
.参数 窗口类名, 文本型
.参数 窗口标题, 文本型
‘自定义数据-----------------------------------
.版本 2
.数据类型 WINDOWPLACEMENT, 公开
.成员 Length, 整数型
.成员 flags, 整数型
.成员 showCmd, 整数型
.成员 ptMinPosition, point
.成员 ptMaxPosition, point
.成员 rcNormalPosition, rect
.数据类型 point, 公开
.成员 x, 整数型
.成员 y, 整数型
.数据类型 rect, 公开
.成员 Left, 整数型
.成员 top, 整数型
.成员 Right, 整数型
.成员 Bottom, 整数型
.支持库 spec
.支持库 eAPI
.子程序 _按钮1_被单击
.局部变量 句柄, 整数型
.局部变量 WINDOWPLACEMENT, WINDOWPLACEMENT
句柄 = 取指定窗口句柄 (“TXGuiFoundation”, “QQ2012”) ' 取出QQ登陆框的 句柄
.如果真 (句柄 ≠ 0)
' --------------------------QQ登陆窗口的位置-------------------------------
取窗口位置 (句柄, WINDOWPLACEMENT)
调试输出 (“顶边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.top))
调试输出 (“左边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Left))
调试输出 (“右边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Right))
调试输出 (“底边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Bottom))
' ----------------------------密码框的位置--------------------------------
调试输出 (“密码框顶边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.top + 184))
调试输出 (“密码框左边 = ” + 到文本 (WINDOWPLACEMENT.rcNormalPosition.Left + 120))
模拟鼠标点击 (WINDOWPLACEMENT.rcNormalPosition.Left + 125, WINDOWPLACEMENT.rcNormalPosition.top + 189, 0)
' 取出来的是编辑框的右上角一个点。加多5个坐标,保证能点到编辑框。
模拟按键 (#A键, #B键, #C键)
.如果真结束
“dll命令-----------------
.版本 2
.DLL命令 取窗口位置, 整数型, "user32", "GetWindowPlacement", 公开
.参数 窗口句柄, 整数型
.参数 信息结构, WINDOWPLACEMENT
.DLL命令 取指定窗口句柄, 整数型, , "FindWindowA"
.参数 窗口类名, 文本型
.参数 窗口标题, 文本型
‘自定义数据-----------------------------------
.版本 2
.数据类型 WINDOWPLACEMENT, 公开
.成员 Length, 整数型
.成员 flags, 整数型
.成员 showCmd, 整数型
.成员 ptMinPosition, point
.成员 ptMaxPosition, point
.成员 rcNormalPosition, rect
.数据类型 point, 公开
.成员 x, 整数型
.成员 y, 整数型
.数据类型 rect, 公开
.成员 Left, 整数型
.成员 top, 整数型
.成员 Right, 整数型
.成员 Bottom, 整数型
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询