I would like to be able to type a string or a keyword (such as "news" or "report") and assign it to an open window. I can then recall this window using that keyword or string.

For example, say I have a document open in Word called report.docx in one window, a website open in Chrome with news (e.g. cnn.com), and some other third application in a third window.

I would like to have a program that I can use to open a small text window centered on the screen (similar to Launchy's) where I could type a hotstring and tell this program which window to associate the hotstring with.

Then later, at anytime, I could invoke this program again (i.e. bring up the text window) to type the hotstring again and bring back the window that I associated with the hotstring.

In the example above, I could assign the string "report" to the Word window with the document "report.docx", the hotstring "news" to the chrome window with "cnn.com", etc.

Is there any tool that does this on Windows? Perhaps using Autohotkey?


The following script allows the user to assign numbers to windows using Ctrl+number, and then recall them with Alt+number. I am hoping this script can serve as a basis for what I am aiming to do.

In particular it would be nice to have a hotkey that brings up a text box where the user can type the string or keywords when assigning or recalling windows. There should be one hotkey for assigning strings to windows, and another hotkey for recalling windows.

A particular feature of the script below is that it remembers the window size and location.

Loop 10 
   i := A_Index - 1 
   HotKey ^%i%,DynHotkey 
   HotKey !%i%, 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
   WinActivate ahk_id %var%
   WinMove, A,, XX, YY, WW, HH
  • 1
    Yes. AutoHotkey can do this effortlessly! I am busy right now, but later I can whip of a script that will do exactly what you want. :) – iglvzx Dec 19 '11 at 22:16
  • Thanks iglvzx! That would be fantastic. I have a script in AutoHotkey that may help with this a bit too. I'll update the post with it. – Amelio Vazquez-Reina Dec 20 '11 at 0:58

Here is a basic AutoHotkey script for assigning names to windows and then activating them by name:

;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

#n:: ;Windows+N
InputBox, name, , Enter the name of a window to activate:
window := array[name]
WinActivate, ahk_id %window%

Obviously, it is not a complete program. It can be improved by testing if a name or window already exists in the array, etc... But functionality wise, this is as simple as it gets! :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.