Autohotkey无法识别分辨率更改下的图像

问题描述:

我创建了一个autohotkey脚本,通过启动应用程序并单击脚本提及的图标来自动执行手动过程。该脚本在一台计算机上运行良好,但其计算机具有较高的分辨率,但无法在其他计算机上以不同的分辨率执行。你有任何建议,以其他方式锻炼。此应用没有任何键盘快捷键,只能在点击鼠标时执行。我希望会有一个污点。Autohotkey无法识别分辨率更改下的图像

:::说明问题:::请仔细阅读理解问题。

让我们开始简单,你创建COMPUTER_A的AutoHotkey的脚本,你print_screen /捕获所有图片&调整他们COMPUTER_A,但是当你传输文件到COMPUTER_B image_search没有找到配衬的,或者根本,这是为什么这个 ?

那么COMPUTER_A和COMPUTER_B是两个完全不同的计算机,如果将颜色模板从COMPUTER_A复制到COMPUTER_B或任何计算机上,问题就出在两个不同的计算机上,每个计算机上都安装有不同的COLOR TEMPLATES。总体问题是不同的颜色模板不允许image_search逐像素地找到匹配,导致两个不同计算机之间的差异不同。这就是为什么最好将computer_A的颜色模板复制到另一台计算机上以允许图像搜索正常工作。

:::寻找颜色模板:::

Win7上 - >控制面板 - >颜色管理 - >我的是很容易找到的原因是,与前来颜色模板我电脑显示器,但是您的电脑可能需要更多的工作才能找到。 ICC配置文件通常是打印机,ICM配置文件是显示驱动程序/用于计算机屏幕的颜色模板。一旦在COMPUTER_A上找到当前正在使用的显示配置文件,在您的计算机存储器上找到它&将其复制到autohotkey方向,以便以后轻松访问,以便稍后使用autohotkey脚本将其复制到computer_B或computer_Z。右键单击ICM,一旦复制到computer_B并单击安装&其可能需要重新启动计算机才能使所有更改生效。

:::结果:::

一旦从computer_A颜色模板安装在另一台计算机image_search应该把它究竟是如何做的computer_A,我亲自测试结果在6个不同的计算机免受XP,Vista & Win7,总是有100%的成功率,我相信这是一个通用解决方案/修复其他计算机的image_search问题。

我很小心那些遇到问题的人,请耐心等待&您是否公平地分享了研究“windows颜色配置文件”以使此解决方案适用于您的情况,我只是预见有人意外地发现/复制了错误的ICM/ICC配置文件。此外,如果有人安装像Adobe Photoshop /多媒体/开发软件等摄影软件/开发软件,有时会附带自己的ICM/ICC配置文件,并可能会影响现有的ICA/ICC配置文件,导致image_search再次成为问题。只需重新安装默认的ICC/ICM配置文件即可解决该问题。

:::结论:::

我希望这是有帮助的人,对不起所有的写作,但我认为最好的就是与大家分享我的完整的调查结果,因为它可以变得很复杂。

大多数应用程序都有Alt快捷键,你有没有试过它们?你也可以尝试重新调整鼠标点击X,Y按照resoulution

+0

我的坏..它没有ALT快捷方式..你可以给我一个例子,我们如何调整基于resoultion的鼠标点击。在这里,我发现错误为“图像未找到”。 –

下面是我曾经解决它。在开始的时候我询问用户捕捉到每一个图标的鼠标位置,并存储这些坐标后使用。

Hotkey, LButton, off ; Make sure that the Left Mouse button inactivator is turned Off 

Lbutton:: ; Disable the Left Mouse Button 

SplashImage , %A_ScriptDir%/Images/YourScreenShot.jpg,,, Screen shot, Icons  ; Show Screenshot of what the user needs to do 
SoundBeep 1000, 300 ; wake up user 


SplashTextOn, 200, 100, Script Preparations, Please Click on Icon1. ; Show new instructions to the user 
WinMove, Script Preparations,, (A_ScreenWidth/2)-150, (A_ScreenHeight/2)-200 ; Move the text instructions window with the name "Script Preparations" 150 pixels right of the center of the screen and 200 pixels up 
SoundBeep 600, 300 ; Wake up user 
; Here the left mouse button will temporarily be disabled (to prevent actions) 
Hotkey, LButton, on ; Turn Left Mouse Button OFF, to capture the Mouse click 
KeyWait, LButton, D ; Wait for LeftMouseButton click Down 
MouseGetPos, xpos1 ,ypos1 ; Store the position where the mouse was clicked (Icon1) 

对所有使用的图标重复此操作。

然后,如果你想点击ICON1使用:

MouseClick, left, %xpos1% ,%ypos1% ; Perform the mouse click on the captured mouse location 
+0

您也可以使用上面的脚本来捕获“第一个”和“最后一个”图标并计算其间的其他图标的位置。这假定所有图标都处于相同的位置(没有用户修改的菜单栏)。可以肯定的是,我会在捕获位置之前最大化窗口,并在工作流程循环中每次循环开始时添加一个winmaximize,以确保用户没有更改窗口位置。 –