首页 > 解决方案 > 如何检查剪贴板是否等于预定数字或AHK中的几个数字?

问题描述

; Copy cell 
var := clipboard
sleep, 1000
WinActivate, doesntmatter - Internet Explorer


IfEqual 30684047, %var%
{
    sleep, 500
    Send, inform
}
else 
{
    msgbox, nope
}
    return

我的问题是,即使我在剪贴板中有正确的数字 (30684047),代码仍然会直接转到 MsgBox 并告诉我剪贴板 (%var%) 不等于预定代码。

我错过了什么?我 100% 确定 %var% 包含我从剪贴板复制的代码,因为如果我在复制后使用 %var% 执行 MsgBox,它会给我一个包含正确代码的框。

标签: autohotkey

解决方案


回顾一下 IfEqual 的文档...你切换了 var 和 value。

; Copy cell 
var := clipboard
sleep, 1000
WinActivate, doesntmatter - Internet Explorer

IfEqual, var, 30684047
{
    sleep, 500
    Send, inform
}
else 
{
    msgbox, nope
}
    return

除非您想在剪贴板后来更改后重新使用该值,否则实际上没有必要将剪贴板的值保存到不同的变量中。所以上面也可以是:

WinActivate, doesntmatter - Internet Explorer
If (clipboard = "30684047") {
    sleep, 500
    SendInput, inform
}
else
    msgbox, nope
return

推荐阅读