从屏幕捕获2个文本并使用AutoHotkey进行比较

时间:2013-04-07 08:54:11

标签: compare screen capture autohotkey

我正在使用AutoHotkey,我需要从屏幕上捕获两个句子并进行比较。谁知道怎么做? 非常感谢!!!

1 个答案:

答案 0 :(得分:1)

好的,这显示了一些努力。

当你使用mouseClickDrag时,你必须绝对确定文本总是在那些确切的位置,这是不太可能的,考虑一个菜单栏向下移动网页,或者关于使用F11,做相反的事情,改变字体样式/大小,只是放大/缩小,或使窗口变小,使得文本块的宽度变小但长度更长,另一个横幅添加更小或更大,等等。如果您可以使用其他方法(例如,查找文本并从该位置,向左跳10个字(^ {左10})然后选择接下来的5个字(+ ^ {右5}),将更加可靠

#NoEnv
#SingleInstance Force
#installKeybdHook
#Persistent
Return ; Stop here on startup to prevent running the whole script on startup

+Insert::  ; Using the [Shift]+[Insert] Key as the hotkey here.
MouseClickDrag,left, 540, 295, 602, 295 ; HighLight area1
Send, ^c
ClipWait, 2
MyVar1:=ClipBoard ; OR MyVar1 = %ClipBoard%

MouseClickDrag,left, 540, 295, 602, 295 ; HighLight area2
Send, ^c
ClipWait, 2
MyVar2:=ClipBoard ; OR MyVar2 = %ClipBoard%

If (MyVar1 = MyVar2)
{
    MsgBox, The values %MyVar1% and %MyVar2% are equal
    Send, %MyVar1%
    ; ClipBoard:=MyVar1 ; OR ClipBoard = %MyVar1%  is alternative way (Faster)
    ; Send, ^v
}
Else
{
    MsgBox, The values %MyVar1% and %MyVar2% are NOT equal
    Send, %MyVar1% AND %MyVar2%
    ; ClipBoard = %MyVar1% AND %MyVar2% ; is alternative way (Faster)
    ; Send, ^v
}
Return

你可以添加一些测试,只在Chrome,FireFox或IE处于活动状态时才执行此操作,但我已经将其删除了。首先咀嚼这段代码。