我希望能够输入字符串或关键字(例如“新闻”或“报告”)并将其分配给一个打开的窗口。然后我可以使用该关键字或字符串调用此窗口。
例如,假设我report.docx
在一个窗口中打开了一个在 Word 中调用的文档,在 Chrome 中打开了一个包含新闻的网站(例如cnn.com
),并且在第三个窗口中打开了一些其他第三个应用程序。
我想要一个可以用来打开小文本窗口位于屏幕中央(类似于Launchy 的) 我可以在其中输入一个热字符串并告诉该程序将热字符串与哪个窗口关联。
然后稍后,我可以随时再次调用该程序(即调出文本窗口)来再次键入热字符串并带回与热字符串关联的窗口。
在上面的例子中,我可以将字符串分配"report"
给文档“report.docx”的 Word 窗口,将热字符串"news"
分配给 chrome 窗口"cnn.com"
,等等。
在 Windows 上是否有任何工具可以执行此操作?也许使用自动热键?
更新:
以下脚本允许用户使用Ctrl+为窗口分配数字number
,然后使用Alt+number 调用它们。我希望这个脚本可以作为我打算做的事情的基础。
尤其是如果有一个热键这带来了一个文本框用户可以输入字符串或关键字分配或调用窗口时。应该有一用于为窗口分配字符串的热键,以及其他调用窗口的热键。
下面脚本的一个特殊功能是它能记住窗口的大小和位置。
Loop 10
{
i := A_Index - 1
HotKey ^%i%,DynHotkey
HotKey !%i%, DynHotkey
}
Exit
DynHotkey:
StringRight i, A_ThisHotKey, 1
StringLeft what, A_ThisHotKey, 1
var := var%i%
IfEqual what, ^
{
WinGet var%i%, ID, A
WinGetPos, X%i%, Y%i%, Width%i%, Height%i%, A
}
;Else IfEqual what,!, WinMinimizeAll
Else
{
XX:=X%i%
YY:=Y%i%
WW:=Width%i%
HH:=Height%i%
WinActivate ahk_id %var%
WinMove, A,, XX, YY, WW, HH
}
Return
答案1
这是一个基本的 AutoHotkey 脚本,用于为窗口分配名称,然后通过名称激活它们:
;Requires AutoHotkey_L
array := Object() ;associative array of name:window
#!n:: ;Windows+Alt+N
InputBox, name, , Set a name for the active window:
WinGet, window, ID, A
array[name] := window
Exit
#n:: ;Windows+N
InputBox, name, , Enter the name of a window to activate:
window := array[name]
WinActivate, ahk_id %window%
Exit
显然,这不是一个完整的程序。可以通过测试名称或窗口是否已存在于数组中等方式对其进行改进...但就功能而言,这已经是最简单的了!:)