发表回复 
后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
2015-09-10, 14 : 58 (这个帖子最后修改于: 2015-09-10 15 : 13 by 我是传奇lz.)
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
(2014-10-10 21 : 24)robertL 提到:  
f43310 提到:  找了很久的方法?谢谢了!不过controlClick 在chrome 上不起作用不知道为什么?
没有标准控件,用顶层窗口,找到准确的窗口,及坐标,感觉可以...没实践过...

@kongqir 听好多次了,还不知道ACC是什么...

你好第一个问题已经解决了
代码: (全选)
#NoTrayIcon
#NoEnv

SetTitleMatchMode RegEx
;===============================================================================​====================================
;Initial Part

; Example 1
IfWinNotExist, IrisVR
{
    Run C:\Program Files (x86)\IrisVR\IrisVR Viewer (BETA)\IrisVR.exe
}

Sleep 3000

;===============================================================================​====================================
;USER SETTINGS
;WindowTitle := "无标题 - 画图"
WindowTitle := "Viewer Prototype"    ;The title of the window you are trying to click
                ;note: you can get this title from window spy which comes installed with AHK

X_Pos := 231        ;The X possition within the window you want to click
Y_Pos := 440        ;The Y possition within the window you want to click
;===============================================================================​====================================

;get a list of all windows that contain the title we specified at the top
WinGet, WindowArray, List, %WindowTitle%

;we need to make sure exactly 1 window exists with the title you selected at the top
;so this will give us an error and just end the script if its more or less then 1
if !(WindowArray = 1)
{
    msgbox, % "More or less than one window found with the title: " WindowTitle "`nScript will now close"
    exitapp
}

;sets the uniquie ID of the window we are looking for to the variable Window_UniqueID
;this line is actually unecessary, but shows how the whole process works
Window_UniqueID := WindowArray1

;this clicks the window we want, in the possitions we specified at the top of this script
Loop 50
{
    MsgBox %Y_Pos%
    ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active
    ;X_Pos := X_Pos + 20
    ;Y_Pos := Y_Pos + 40
}

;ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active
;Sleep 5000
;ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active

;ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active


ExitApp
我用这个实现了后台的controlclick.
但是这个在"无标题 - 画图"里面是对的
如果把这个换成我的目标程序"Viewer Prototype", 这个窗口就会被激活, 请问, 这个是我的目标程序的问题吗?

(2015-09-10 14 : 58)我是传奇lz 提到:  
(2014-10-10 21 : 24)robertL 提到:  
f43310 提到:  找了很久的方法?谢谢了!不过controlClick 在chrome 上不起作用不知道为什么?
没有标准控件,用顶层窗口,找到准确的窗口,及坐标,感觉可以...没实践过...

@kongqir 听好多次了,还不知道ACC是什么...

你好第一个问题已经解决了
代码: (全选)
#NoTrayIcon
#NoEnv

SetTitleMatchMode RegEx
;===============================================================================​====================================
;Initial Part

; Example 1
IfWinNotExist, IrisVR
{
    Run C:\Program Files (x86)\IrisVR\IrisVR Viewer (BETA)\IrisVR.exe
}

Sleep 3000

;===============================================================================​====================================
;USER SETTINGS
;WindowTitle := "无标题 - 画图"
WindowTitle := "Viewer Prototype"    ;The title of the window you are trying to click
                ;note: you can get this title from window spy which comes installed with AHK

X_Pos := 231        ;The X possition within the window you want to click
Y_Pos := 440        ;The Y possition within the window you want to click
;===============================================================================​====================================

;get a list of all windows that contain the title we specified at the top
WinGet, WindowArray, List, %WindowTitle%

;we need to make sure exactly 1 window exists with the title you selected at the top
;so this will give us an error and just end the script if its more or less then 1
if !(WindowArray = 1)
{
    msgbox, % "More or less than one window found with the title: " WindowTitle "`nScript will now close"
    exitapp
}

;sets the uniquie ID of the window we are looking for to the variable Window_UniqueID
;this line is actually unecessary, but shows how the whole process works
Window_UniqueID := WindowArray1

;this clicks the window we want, in the possitions we specified at the top of this script
Loop 50
{
    MsgBox %Y_Pos%
    ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active
    ;X_Pos := X_Pos + 20
    ;Y_Pos := Y_Pos + 40
}

;ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active
;Sleep 5000
;ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active

;ControlClick, X%X_Pos% Y%Y_Pos%, ahk_id %Window_UniqueID%,,,, NA     ;last parameter stops the window becoming active


ExitApp
我用这个实现了后台的controlclick.
但是这个在"无标题 - 画图"里面是对的
如果把这个换成我的目标程序"Viewer Prototype", 这个窗口就会被激活, 请问, 这个是我的目标程序的问题吗?

e, 我又看了一下那个帮助文档里面描述,
NA avoids marking the target window as active and avoids merging its input processing with that of the script, which may prevent physical movement of the mouse from interfering (but usually only when the target window is not active). However, this method might not work for all types of windows and controls.

所以我想我的那个窗口算是例外, 现在我的目的是找什么样的窗口会导致这个功能失败。

我真是自问自答的典范。。。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2015-09-10, 15 : 32 (这个帖子最后修改于: 2015-09-10 16 : 19 by robertL.)
Smile 模拟发送消息 V1.4F
小结/记录另开主题《后台消息 MessageSend ControlSend ControlClick
折叠块: 旧
(2015-09-10 14 : 58)我是传奇lz 提到:  我又看了一下那个帮助文档里面描述,
NA avoids marking the target window as active and avoids merging its input processing with that of the script, which may prevent physical movement of the mouse from interfering (but usually only when the target window is not active). However, this method might not work for all types of windows and controls.

所以我想我的那个窗口算是例外, 现在我的目的是找什么样的窗口会导致这个功能失败。
  • 一条鼠标消息,连锁地产生了很多条消息,包括各层窗口、子窗口的逐层获取焦点、失去焦点,窗口重绘等。
  • ControlClick的消息仅发至目标窗口中坐标位置的最终控件SendMessage的消息仅发至目标窗口,目标窗口未路由消息至最终控件也许,ControlClick只是后台找到了目标窗口中坐标位置的最终控件
  • ControlClick+NA,‘不会’激活目标窗口,也许是在激活的瞬间,AHK发送消息模拟取消激活(消息记录中有,但不知道是不是AHK发送的)
    可能无法避免激活窗口,这在ControlClick对NA的描述中有提及。也许仅是模拟操作,使取消激活,看起来如同未激活。
  • 经测试,使用SendMessage,直接最终控件发送WM_LButtonDOWN消息,亦可不激活控件所在的窗口,且窗口最小化。

也许自己分析并模拟消息,能做到更深一层的无扰操作。
同样好奇中,开贴记录,别浪费了经验、成果。
  • 多级窗口:
    [Image: 30wunut.jpg]
  • ControlClick与SendMessage+WM_LButtonDOWN:
    [Image: mrz8g4.jpg]

One for all, but man for himself

帮推广:AHK知乎专栏
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2015-09-10, 15 : 39
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
(2015-09-10 15 : 32)robertL 提到:  
(2015-09-10 14 : 58)我是传奇lz 提到:  我又看了一下那个帮助文档里面描述,
NA avoids marking the target window as active and avoids merging its input processing with that of the script, which may prevent physical movement of the mouse from interfering (but usually only when the target window is not active). However, this method might not work for all types of windows and controls.

所以我想我的那个窗口算是例外, 现在我的目的是找什么样的窗口会导致这个功能失败。
一条鼠标消息,连锁地产生了很多条消息,包括各层窗口、子窗口的逐层获取焦点、失去焦点等。
ControlClick的消息仅发至目标窗口中坐标位置的最终控件SendMessage的消息仅发至目标窗口,目标窗口未路由消息至最终控件也许,ControlClick只是后台找到了目标窗口中坐标位置的最终控件。
ControlClick+NA,‘不会’激活目标窗口,也许是在激活的瞬间,AHK发送消息模拟取消激活(消息记录中有,但不知道是不是AHK发送的)
可能无法避免激活窗口,这在ControlClick对NA的描述中有提及。也许仅是模拟操作,使取消激活,看起来如同未激活。

也许自己分析并模拟消息,能做到更深一层的无扰操作。
同样好奇中,开贴记录,别浪费了经验、成果。
[Image: 30wunut.jpg]
[Image: mrz8g4.jpg]
关键词:消息 SendMessage ControlClick ControlSend Spy

谢谢你的解答, 解决了很多的疑惑。论坛确实好, 以后会常来的。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2015-09-10, 15 : 41
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
@我是传奇lz 好也只是有组织,有存档。
但需要整理,要不内容多了,索引少了,一样乱糟糟。
不过先记录,多少好些...更新了下帖子...

One for all, but man for himself

帮推广:AHK知乎专栏
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2016-01-01, 18 : 40
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
在dm := ComObjCreate("dm.dmsoft")一句报错,提示没有注册类
但是之前的regsvr32注册系统提示是成功的。
可能是什么情况哩?急
求助 @robertL @tmplinshi @111111

// 事不过三
if (操作步骤>=3 && 每日使用频次>=3){
赶紧写个快捷键;
}
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2016-01-02, 20 : 03
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
@wck 不知道,好像见过不少这问题了...好像后来解决了...你搜下汇集下吧

One for all, but man for himself

帮推广:AHK知乎专栏
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-04-11, 15 : 24
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
好贴学习了。

我也想用大漠插件来做简单的图文识别,完成对QQ游戏的自动操作。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-04-24, 12 : 11
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
同求:在dm := ComObjCreate("dm.dmsoft")一句报错,提示没有注册类

之前也已经注册成功大漠插件了。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-06-09, 18 : 28
RE: 后台键鼠 找图找色 文字识别 以及一个实际的开源游戏辅助!(使用了大漠插件)
感謝lz,慢慢研究下~
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合