1

我必须使用列出我的客户进程的软件。如果 50x10 像素区域发生变化,我需要一个声音警报程序。我尝试在 autohotkey 上编写一个程序,但我无法成功。有人有这个程序吗?

4

2 回答 2

1

这是您可以使用的示例。

^Launch_Media:: ; Make a reference screenshot with NirSoft NIRCMD by pressing Ctrl+Media or any other program...
run, "C:\Program Files\1 My Programs\nircmd.exe" savescreenshot "c:\Temp\Screenshot.bmp" 33 40 17 20 ; Location of "Save As" Icon in SciTE4AutoHotKey Editor
Return

Launch_Media:: ; Launch this test manually with Media Button
CoordMode Pixel  ; Interprets the coordinates below as relative to the screen rather than the active window.
ImageSearch, FoundX, FoundY, 0, 0, 200, 200, C:\Temp\Screenshot.bmp ; search for image in area staring at 0,0 to 200,200
if ErrorLevel = 2
    MsgBox Could not conduct the search.
else if ErrorLevel = 1
    MsgBox Image could not be found on the screen.
else
    SoundBeep, 1000, 1000
    MsgBox The Image was found at %FoundX% %FoundY%.
    ClickX:=FoundX + 5 ; Move the mouse click away from the edge of the icon
    ClickY:=FoundY + 5 ; Move the mouse click away from the edge of the icon
    Click, %ClickX%, %ClickY% ; Click on the Save As icon.
Return

当我们更多地了解您想要测试的内容(我认为 50x10 的区域可能太小)以及您想要在区域发生变化时做什么时,我们可能会帮助您编写更合适的脚本。

在此示例中,我使用了NirSoft的 nircmd.exe,但您也可以通过其他方式创建参考图像。如果您只需要声音警报,您可以使用 注释掉所有其他if, then, else命令;

于 2013-02-19T10:58:06.153 回答
0

您是否在 2 年前在 AutoHotKey 社区查看过这篇帖子?

http://www.autohotkey.com/board/topic/56219-fast-screen-change-check-using-histograms/

上面的脚本可能有点压倒性,但您也可以创建固定区域的屏幕截图并在 AutoHotKey 中进行图像比较,就像其他人在您之前所做的那样。

于 2013-02-18T16:21:33.393 回答