-1

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

4

1 回答 1

1

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

当您使用 mouseClickDrag 时,您必须绝对确定文本将始终位于这些确切位置,这是非常不可能的,请考虑将网页向下移动的菜单栏,或者使用 F11,做相反的事情,更改字体样式/size,只是放大/缩小,或缩小窗口,使文本块的宽度变小但长度变长,添加另一个更小或更大的横幅,等等。如果您可以使用其他方法(例如,查找文本并从该位置向左跳 10 个单词(^{Left 10})然后选择接下来的 5 个单词(+^{Right 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 处于活动状态时执行此操作,但我忽略了这一点。首先咀嚼这段代码。

于 2013-04-07T13:59:28.443 回答