如何在失去焦点后激活窗口?

时间:2014-02-06 15:49:42

标签: autohotkey

所以我使用的是名为Website-Watcher的优秀软件,它是RSS提要阅读器和网络内容跟踪器。

我已将其配置为在firefox中打开外部链接,后者在后台打开标签。

但问题是网站观察者在点击某个链接后失去焦点,所以有没有办法打开链接,重新获得失去焦点并发送点击以便能够滚动,我找到了一个激活窗口的脚本鼠标滚动但是没有重新获得程序的滚动功能。

拜托,给我一些想法!

编辑更新:::我终于使它工作了,问题在于Windows 8.1管理员权限,因为我运行了网站管理器提升,我正在使用的脚本停止工作。

脚本在这里:

http://www.autohotkey.com/board/topic/6292-send-mouse-scrolls-to-window-under-mouse/ http://www.autohotkey.com/board/topic/99405-hoverscroll-verticalhorizontal-scroll-without-focus-scrollwheel-acceleration/?p=623967

使用这些脚本,您可以在不激活窗口的情况下执行滚动,或者如果使用前者,您甚至可以使用鼠标滚动来激活窗口。

3 个答案:

答案 0 :(得分:3)

使用WinActivate

例如,WinActivate Untitled - Notepad将激活(引起焦点)窗口“Untitled - Notepad”。此标题必须准确并且区分大小写。

答案 1 :(得分:0)

以低技术方式执行此操作可能最容易。我不熟悉网站观察者,所以我会分享一个我应该能够适应的脚本。

我在Chrome中使用Feedly进行RSS阅读,在Feedly中点击“v”会在新标签中打开故事。我使用我的媒体播放按钮点击“v”并将我带回Feedly:

Media_Play_Pause::
send v
sleep 50
send {Ctrl Down}{Shift Down}{Tab}{Shift Up}{Ctrl Up}
return

因此,定义您的热键,让它触发在Firefox中打开的链接,然后点击Alt-Tab跳回:

X::
send y
sleep 50
send {Alt Down}{Tab}{Alt Up}
return

显然,将上面的“X”和“y”替换下来。

我不关心将媒体播放按钮用于其他任何内容,但如果您希望热键对上下文敏感,请使用#IfWinActive

答案 2 :(得分:0)

使用"WinGet, variableName , List, yourWindowName"(不含报价)

然后在1

中调用您的variableName将其与ControlSend对齐

例如:

WinGet, nexid, List, myHyperTerminal

ControlSend, , {shift down}at=cmgs{shift up}=303{ENTER},  ahk_id %nexid1%
sleep, 1000
ControlSend, , {shift down}sms{shift up}{space}10000,  ahk_id %nexid1%
sleep, 1000

如果你想使用shift,ctrl,alt这样的控制键,别忘了添加"SetKeyDelay, intDelay, intPressDuration"(不含引号)

例如,脚本将列出此

#usehook on
SetKeyDelay, 50, 20
WinGet, nexid, List, zz1

$F6::

ControlSend, , {shift down}at=cmgs{shift up}=303{ENTER},  ahk_id %nexid1%
sleep, 1000
ControlSend, , {shift down}sms{shift up}{space}10000,  ahk_id %nexid1%
sleep, 1000

return
$F7::pause

它将被发送到活动/非活动窗口“zz1”,如下:

AT+CMGS=303
SMS 10000