2012-06-28 44 views
1

我創建了一個autohotkey腳本,通過啓動應用程序並單擊腳本提及的圖標來自動執行手動過程。該腳本在一臺計算機上運行良好,但其計算機具有較高的分辨率,但無法在其他計算機上以不同的分辨率執行。你有任何建議,以其他方式鍛鍊。此應用沒有任何鍵盤快捷鍵,只能在點擊鼠標時執行。我希望會有一個污點。Autohotkey無法識別分辨率更改下的圖像

回答

0

:::說明問題:::請仔細閱讀理解問題。

讓我們開始簡單,你創建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配置文件即可解決該問題。

:::結論:::

我希望這是有幫助的人,對不起所有的寫作,但我認爲最好的就是與大家分享我的完整的調查結果,因爲它可以變得很複雜。

1

大多數應用程序都有Alt快捷鍵,你有沒有試過它們?你也可以嘗試重新調整鼠標點擊X,Y按照resoulution

+0

我的壞..它沒有ALT快捷方式..你可以給我一個例子,我們如何調整基於resoultion的鼠標點擊。在這裏,我發現錯誤爲「圖像未找到」。 –

0

下面是我曾經解決它。在開始的時候我詢問用戶捕捉到每一個圖標的鼠標位置,並存儲這些座標後使用。

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,以確保用戶沒有更改窗口位置。 –