易语言如何用API捕获窗口并点击上面的按钮
答案:2 悬赏:80 手机版
解决时间 2021-01-30 02:13
- 提问者网友:玫瑰园
- 2021-01-29 11:17
急急
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-01-29 11:52
.版本 2
.子程序 _按钮1_被单击
.局部变量 局部_临时句柄, 整数型
局部_临时句柄 = 寻找子窗口_ (0, 0, “WTWindow”, “被单击”) ' 寻找出你要单击的按钮所在窗口的句柄
局部_临时句柄 = 寻找子窗口_ (局部_临时句柄, 0, “Button”, “按钮”) ' 寻找出你要单击的按钮在窗口当中自身的句柄
发送消息_ (局部_临时句柄, 513, 0, 0) ' 发送鼠标左键按下的消息给寻找的按钮句柄 513 是鼠标左键按下
发送消息_ (局部_临时句柄, 514, 0, 0) ' 发送鼠标左键放开的消息给寻找的按钮句柄 514 是鼠标左键放开
下面是DLL 的定义:
.版本 2
.DLL命令 寻找子窗口_, 整数型, "user32", "FindWindowExA", , , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
.参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
.参数 欲搜索的类名1, 文本型, , 欲搜索的类名。“”表示忽略
.参数 欲搜索的标题, 文本型, , 欲搜索的类名。“”表示忽略;
.DLL命令 发送消息_, 整数型, "user32", "SendMessageA", , , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.子程序 _按钮1_被单击
.局部变量 局部_临时句柄, 整数型
局部_临时句柄 = 寻找子窗口_ (0, 0, “WTWindow”, “被单击”) ' 寻找出你要单击的按钮所在窗口的句柄
局部_临时句柄 = 寻找子窗口_ (局部_临时句柄, 0, “Button”, “按钮”) ' 寻找出你要单击的按钮在窗口当中自身的句柄
发送消息_ (局部_临时句柄, 513, 0, 0) ' 发送鼠标左键按下的消息给寻找的按钮句柄 513 是鼠标左键按下
发送消息_ (局部_临时句柄, 514, 0, 0) ' 发送鼠标左键放开的消息给寻找的按钮句柄 514 是鼠标左键放开
下面是DLL 的定义:
.版本 2
.DLL命令 寻找子窗口_, 整数型, "user32", "FindWindowExA", , , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
.参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
.参数 欲搜索的类名1, 文本型, , 欲搜索的类名。“”表示忽略
.参数 欲搜索的标题, 文本型, , 欲搜索的类名。“”表示忽略;
.DLL命令 发送消息_, 整数型, "user32", "SendMessageA", , , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型安全”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
全部回答
- 1楼网友:蓝房子
- 2021-01-29 12:43
findwindow()找到窗口句柄,然后sendmessage或postmessage(窗口句柄,513,1,鼠标相对窗口的横坐标+纵坐标*65536),然后再sendmessage或postmessage(窗口句柄,514,0,鼠标相对窗口的横坐标+纵坐标*65536)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯