【发布时间】:2017-08-17 08:34:23
【问题描述】:
我希望能够根据文本插入符号是否在文本框中执行不同的操作。
例如,如果插入符号在文本框中,则退格键正常工作;但如果不是,则退格键映射到 Alt+Left(Chrome 中的上一页)。
我能想到的代码如下:
IsInTextBox()
{
clipboardCache := Clipboard
Clipboard :=
; Try to highlight the character to the left, if something gets highlighted, then we are definitely in a text box.
Send, +{Left}^c{Right}
ClipWait, 0.1
If (Clipboard = "")
{
Clipboard := clipboardCache
Return False
}
Else
{
Clipboard := clipboardCache
Return True
}
}
此方法有两个问题:首先,如果文本插入符号位于文本框的开头,它将不起作用(因为左侧没有要突出显示的字符)。其次,您可以看到插入符号四处移动并突出显示左侧的字符。
有没有办法检查插入符号是否聚焦在文本框上不影响用户看到的内容?
【问题讨论】:
-
根据@Oleg 后来的发现,我想撤回我的反对票。只需编辑您的问题,以便系统允许我更改投票。
标签: screen-scraping autohotkey caret