2013-08-17 35 views
1
#.:: 
IfWinExist Chrome 
    WinActivate 
else 
    Run Chrome 
return 

当Chrome应用程序没有运行时(即,当我刚启动计算机时)工作得很好。但是,当铬运行时,它不像我想要的那样。它只是创建一个新窗口。如果我有某个Chrome窗口处于活动状态,则会在其上创建一个新窗口。但是,如果我运行记事本并点击#。然后在后台创建一个新窗口,并且我仍然面对记事本。切换到最后一个铬窗口

(我veread http://www.autohotkey.com/board/topic/7129-run-a-program-or-switch-to-an-already-running-instance/

我想要做的,就是切换到上一个窗口铬就如同我用#{标签}。如果没有铬窗口激活,那么只有这样我才打开一个新窗口。

+0

如果AHK“抱怨”,如果您指定了什么,AHK可能会有帮助。我相信,如果你明确告诉自己,活动窗口,不活动窗口和不存在窗口之间的区别是什么,以及应用程序/进程和窗口之间的区别是什么,这将会有所帮助。您正在使用* running *作为* not activated *的反义词,但前者涉及应用程序,后者涉及到窗口。所以请特别考虑术语来修改你的问题。 – MCL

回答

2

这将工作。

新选项卡的快捷方式是Ctrl - T

有没有简单的方法找出标签是否为空 所以我去地址栏,看看它是否是空的 复制到剪贴板。

您需要将运行命令更改为在您的语言版本的Windows中指向chrome。 另外,当我运行chrome时,它会打开一些旧的选项卡。

#.:: 

SetTitleMatchMode, 2 
IfWinExist, Google Chrome 
    WinActivate, Google Chrome 
else 
    Run, "c:\programme\Google\Chrome\Application\chrome.exe" 

WinWaitActive, Google Chrome 
Send, ^l 
Sleep, 200 
Clipboard = 
Send, ^c 
Sleep, 200 
MyClip = %Clipboard% 
If (MyClip <> "") 
{  
    Send, ^t 
} 
return 
+0

对于坏英语我很抱歉,我的意思是不是“最后一个标签”,如“9日中的9日”或“3日中的3分”,而是我上次进入Chrome时的位置。 也就是说,就像使用普通的#tab一样,但速度更快。 – jacob

+0

在这种情况下,只需从脚本中删除Send Ctrl-9 ...并且它应该适用于您 – 576i

+0

发送crtl-9出不起作用。 – jacob