ALT + ESC Eu quero melhorar sua funcionalidade

2

Pressionar ALT + TAB é muito útil na navegação entre janelas abertas na área de trabalho do meu windows 8.1 PC.

OBSERVAÇÃO 1: O menu exibido permite navegar não apenas entre as janelas abertas da área de trabalho, mas também com as janelas da barra de tarefas.

  • Efetivamente ALT + TAB oferece a capacidade de "alternar" entre TODOS os aplicativos abertos que, obviamente, são exibidos em uma janela.
  • Agora, não sou proficiente em programação, em geral. No entanto, eu geralmente tenho muitas janelas abertas e gostaria de navegar rapidamente entre elas.
  • Descobri que ALT + ESC realmente faz um trabalho melhor atendendo às minhas necessidades, pois é mais rápido, por exemplo
  • Eu não preciso clicar em um botão extra para acessar a janela em que estou interessado, como tenho feito com ALT + TAB .
  • E isso teria sido ALL e eu teria sido um usuário feliz do windows, mas, ALT + ESC não é minimizado nas janelas da barra de tarefas.
  • Na verdade, ele passa por eles, mas não exibe uma prévia deles como ALT + TAB .
  • Na verdade, com ALT + ESC , eu não gosto mais de olhar a visualização, mas a janela real.
  • Eu tenho o AutoHotKey instalado. Alguma sugestão para um script que desenvolve a funcionalidade ALT + ESC ? Ou é impossível?

NOTA 2: ALT + SHIFT + ESC "ciclos" através das janelas "abertas" para trás.

OBSERVAÇÃO 3: Eu também instalei o controle X Mouse Button e atribuímos ALT + ESC e ALT + SHIFT + ESC para os botões 4 e 5 do meu mouse, percorrendo efetivamente as janelas de aplicativos "abertos" pressionando os botões do mouse. Se ao menos isso fosse um pouco melhor ...

    
por Spiros Kunelis 09.03.2015 / 09:52

2 respostas

1

Tente isto:

#NoEnv
#SingleInstance Force

; equivalent to ALT+TAB    (ALT+ESC cannot activate minimized windows)

F1::
List =
WinGet, AllWinsHwnd, List
Loop, % AllWinsHwnd
{
WinGet, exStyle, exStyle, % "ahk_id" AllWinsHwnd%A_Index%
If !(exStyle & 0x100)
  Continue
WinGetTitle, CurrentWinTitle, % "ahk_id " AllWinsHwnd%A_Index%
WinGetTitle, active_title, A
If CurrentWinTitle = %active_title%
  continue
WinActivate, %CurrentWinTitle%
GoSub, MouseCenterInWindow
  break
}
return

; SHIFT+ALT+TAB menu

F2::
List =
Menu, windows, Add
Menu, windows, deleteAll
WinGet, AllWinsHwnd, List
Loop, %AllWinsHwnd%
{
WinGet, exStyle, exStyle, % "ahk_id" AllWinsHwnd%A_Index%
If !(exStyle & 0x100)
  Continue
WinGetTitle, CurrentWinTitle, % "ahk_id " AllWinsHwnd%A_Index%
WinGetClass, CurrentWinClass, % "ahk_id " AllWinsHwnd%A_Index%
If CurrentWinClass = ApplicationFrameWindow
  Continue
Menu, windows, Add, %CurrentWinTitle%%A_Tab%ahk_class %CurrentWinClass%, WinTitle
WinGet, Path, ProcessPath, % "ahk_id " AllWinsHwnd%A_Index%
Menu, windows, Icon, %CurrentWinTitle%%A_Tab%ahk_class %CurrentWinClass%, %Path%
}
Menu, windows, Show
return


WinTitle:
WinActivate, %A_ThisMenuItem%
GoSub, MouseCenterInWindow
return


MouseCenterInWindow:
CoordMode, Mouse, Relative
WinGetPos,,,Xmax,Ymax,A ; get active window size
Xcenter := Xmax/2        ; Calculate center of active window
Ycenter := Ymax/2
MouseMove, Xcenter, Ycenter
return
    
por 09.03.2015 / 19:06
1

OK GUYS Eu encontrei a solução ..................

Em algum lugar depois de muita pesquisa ........

    XButton1::
    Send, {AltDown}{Esc}{AltUp}
    Sleep, 0
    WinActivate, A
    Return

    XButton2::
    Send, {AltDown}{ShiftDown}{Esc}{ShiftUp}{AltUp}
    Sleep, 0
    WinActivate, A
    Return
    
por 19.06.2015 / 18:10