Seqüências atribuídas pelo usuário para selecionar janelas ativas

4

Eu gostaria de poder digitar uma string ou uma palavra-chave (como "news" ou "report") e atribuí-la a uma janela aberta. Eu posso me lembrar dessa janela usando essa palavra-chave ou string.

Por exemplo, digamos que tenha um documento aberto no Word chamado report.docx em uma janela, um site aberto no Chrome com notícias (por exemplo, cnn.com ) e outro terceiro aplicativo em uma terceira janela.

Eu gostaria de ter um programa que eu possa usar para abrir uma pequena janela de texto centrada na tela (semelhante a Launchy ) onde eu poderia digitar uma hotstring e dizer a este programa para qual janela associar a hotstring.

Então, mais tarde, a qualquer momento, eu poderia invocar este programa novamente (por exemplo, abrir a janela de texto) para digitar o hotstring novamente e trazer de volta a janela que associei à hotstring.

No exemplo acima, eu poderia atribuir a string "report" à janela do Word com o documento "report.docx", a hotstring "news" à janela do Chrome com "cnn.com" , etc.

Existe alguma ferramenta que faz isso no Windows? Talvez usando o Autohotkey ?

Atualização:

O script a seguir permite que o usuário atribua números às janelas usando Ctrl + number e, em seguida, recupere-os com Alt + number. Espero que este roteiro possa servir de base para o que eu pretendo fazer.

Em especial, seria interessante ter uma tecla de atalho que exiba uma caixa de texto em que o usuário possa digitar a string ou palavras-chave quando atribuir ou chamar janelas. Deve haver uma tecla de atalho uma para atribuir strings às janelas e outra tecla de atalho para chamar as janelas.

Uma característica particular do script abaixo é que ele lembra o tamanho e a localização da janela.

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
    
por Amelio Vazquez-Reina 19.12.2011 / 17:03

1 resposta

2

Aqui está um script básico do AutoHotkey para atribuir nomes às janelas e ativá-las pelo nome:

;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

Obviamente, não é um programa completo. Ele pode ser melhorado testando se um nome ou janela já existe no array, etc ... Mas, em termos de funcionalidade, isso é tão simples quanto parece! :)

    
por 20.12.2011 / 20:42

Tags