分享人 | 球佬是地表最强程序员! |
分享时间 | 2024-08-26 11:21 |
最后更新 | 24天6小时前 |
修订版本 | 2 |
子程序大小 | 46.2 KB |
Quicker版本 | 1.43.57.0 |
https://getquicker.net/sharedaction?code=fda7432a-76f5-4d47-a573-08dcc5002795
介绍:
第一次使用时需要下载核心文件.
动作运行时,会开启核心程序,一个命令行窗口. 窗口不可关闭. 可以手动最小化.
如果一直运行多个动作. 命令行窗口可以一直不关闭. 命令行窗口限制了只能打开一个
此动作和老大的官方动作区别为,此动作可以绑定到后台窗口. 绑定后几乎所有的动作都是后台窗口生效的
绑定并且测试成功后, 窗口最小化也依然可以执行对应键鼠找图等操作
但是不是所有的窗口都可以绑定生效.具体需要先进行绑定类型测试
封装思路:
本来想着是否可以通过QK的c#脚本.来动态调用Com组件. 但是实际发现.大漠插件每次需要单独去注册一遍.需要联网注册,这个就比较费时间.分摊到每个动作上,会特别耽误时间. 所以单独用c#写了一个监听程序. 监听程序开启执行注册大漠插件的操作, 然后QK用tcp通信,给监听程序发消息. 根据不同的消息. 监听程序来执行对应的大漠命令.这样只要开始的时候绑定一次窗口,后续就不需要再次绑定,也节省了绑定的时间. 但是这种方案需要一直开启着这个命令行程序. 动作每次检测这个程序是否在运行中, 不在运行就会拉取打开这个监听程序. 同样,只要监听程序不关. 后续别的动作依然可以和这个程序通信.绑定 依然是之前绑定的窗口.
使用方式:
如果是前台操作.不用填写窗口句柄
如果需要后台. 需要填写窗口句柄. 或者使用"绑定"类型动作.先绑定窗口. 因为绑定操作本身需要一些毫秒的时间. 不要每个动作都填写窗口句柄. 一套动作只要最前面的一个动作里有绑定或者填写窗口句柄就可以
绑定成功后,后续的全部动作都为后台操作.
具体封装功能:
鼠标移动后点击鼠标左键
鼠标移动到
鼠标相对移动
鼠标左键点击
鼠标右键点击
鼠标左键按下
鼠标右键按下
鼠标左键弹起
鼠标右键弹起
键盘按键
键盘按下
键盘弹起
按下鼠标中键
按住鼠标中键
弹起鼠标中键
鼠标滚动
发送剪贴板内容
向指定窗口发送文本数据
向指定窗口发送文本数据2
向绑定的窗口发送文本数据
依次按顺序按下其中的字符
查找窗口句柄
设置窗口状态
移动到位图位置 (可以设置等待时间)
左键点击全部位图 (可以设置等待时间)
移动到位图位置-无限等待版 (这个可以按F11结束等待)
左键点击全部位图--无限等待版 (这个可以按F11结束等待)
二组合键
三组合键
四组合键
保存鼠标位置
恢复鼠标位置
延时
绑定
解绑
附录:
绑定类型: 这个可以根据下面自由搭配. 默认提供了一些绑定组合可以尝试更改
屏幕找图方式:
"normal" : 正常模式,平常我们用的前台截屏模式
"gdi" : gdi模式,用于窗口采用GDI方式刷新时. 此模式占用CPU较大. 参考SetAero. win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。
"gdi2" : gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式.
"dx2" : dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7 win8或者vista不需要移动也可后台. 此模式占用CPU较大. 参考SetAero. win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。
"dx3" : dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多. 此模式占用CPU较大. 参考SetAero. win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。
dx模式,用于窗口采用dx模式刷新,取值可以是以下任意组合,组合采用"|"符号进行连接. 支持BindWindow中的缩写模式. 比如dx代表" dx.graphic.2d| dx.graphic.3d"
1. "dx.graphic.2d" 2d窗口的dx图色模式
2. "dx.graphic.2d.2" 2d窗口的dx图色模式 是dx.graphic.2d的增强模式.兼容性更好.
3. "dx.graphic.3d" 3d窗口的dx图色模式,
4. "dx.graphic.3d.8" 3d窗口的dx8图色模式, 此模式对64位进程无效.
5. "dx.graphic.opengl" 3d窗口的opengl图色模式,极少数窗口采用opengl引擎刷新. 此图色模式速度可能较慢.
6. "dx.graphic.opengl.esv2" 3d窗口的opengl_esv2图色模式,极少数窗口采用opengl引擎刷新. 此图色模式速度可能较慢.
7. "dx.graphic.3d.10plus" 3d窗口的dx10 dx11图色模式
鼠标模式:
mouse 字符串: 鼠标仿真模式 取值有以下几种
"normal" : 正常模式,平常我们用的前台鼠标模式
"windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.
"windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台
dx模式,取值可以是以下任意组合. 组合采用"|"符号进行连接. 支持BindWindow中的缩写模式,比如windows2代表"dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.state.message"
1. "dx.mouse.position.lock.api" 此模式表示通过封锁系统API,来锁定鼠标位置.
2. "dx.mouse.position.lock.message" 此模式表示通过封锁系统消息,来锁定鼠标位置.
3. "dx.mouse.focus.input.api" 此模式表示通过封锁系统API来锁定鼠标输入焦点.
4. "dx.mouse.focus.input.message"此模式表示通过封锁系统消息来锁定鼠标输入焦点.
5. "dx.mouse.clip.lock.api" 此模式表示通过封锁系统API来锁定刷新区域。注意,使用这个模式,在绑定前,必须要让窗口完全显示出来.
6. "dx.mouse.input.lock.api" 此模式表示通过封锁系统API来锁定鼠标输入接口.
7. "dx.mouse.state.api" 此模式表示通过封锁系统API来锁定鼠标输入状态.
8. "dx.mouse.state.message" 此模式表示通过封锁系统消息来锁定鼠标输入状态.
9. "dx.mouse.api" 此模式表示通过封锁系统API来模拟dx鼠标输入.
10. "dx.mouse.cursor" 开启此模式,可以后台获取鼠标特征码.
11. "dx.mouse.raw.input" 有些窗口需要这个才可以正常操作鼠标.
12. "dx.mouse.input.lock.api2" 部分窗口在后台操作时,前台鼠标会移动,需要这个属性.
13. "dx.mouse.input.lock.api3" 部分窗口在后台操作时,前台鼠标会移动,需要这个属性.
键盘模式:
"normal" : 正常模式,平常我们用的前台键盘模式
"windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.
dx模式,取值可以是以下任意组合. 组合采用"|"符号进行连接. 支持BindWindow中的缩写模式.比如dx代表" dx.public.active.api|dx.public.active.message| dx.keypad.state.api|dx.keypad.api|dx.keypad.input.lock.api"
1. "dx.keypad.input.lock.api" 此模式表示通过封锁系统API来锁定键盘输入接口.
2. "dx.keypad.state.api" 此模式表示通过封锁系统API来锁定键盘输入状态.
3. "dx.keypad.api" 此模式表示通过封锁系统API来模拟dx键盘输入.
4. "dx.keypad.raw.input" 有些窗口需要这个才可以正常操作键盘.
修订版本 | 更新时间 | 更新说明 |
---|---|---|
2 | 24天6小时前 | 更新程序 |
1 | 2024-08-28 21:12 | 第一完整版分享 |
0 | 2024-08-26 11:21 |