ALT + ESC Chcę ulepszyć jego funkcjonalność

2

Naciśnięcie ALT+ TABbardzo pomaga w nawigacji między otwartymi oknami na pulpicie komputera z systemem Windows 8.1.

UWAGA 1: Menu, które się pojawi, umożliwia nawigację nie tylko między otwartymi oknami pulpitu, ale także zminimalizowane do okien paska zadań.

  • Skutecznie ALT+ TABdaje możliwość „przełączania” WSZYSTKICH otwartych aplikacji, które oczywiście są wyświetlane w oknie.
  • Teraz ogólnie nie jestem biegły w programowaniu. Jednak zwykle mam wiele otwartych okien i chciałbym szybko między nimi nawigować.
  • Przekonałem się, że ALT+ ESCfaktycznie wykonuje lepszą pracę, zaspokajając moje potrzeby, ponieważ jest szybszy, tj
  • Nie muszę klikać dodatkowego przycisku, aby przejść do okna, które mnie interesuje, tak jak mam to w przypadku ALT+ TAB.
  • I to by było WSZYSTKO, a ja byłbym szczęśliwym użytkownikiem systemu Windows, ale ALT+ ESCnie przechodzi przez okna zminimalizowane do okien paska zadań.
  • W rzeczywistości cyklicznie je przegląda, ale nie wyświetla ich podglądu, podobnie jak ALT+ TAB.
  • Właściwie z ALT+ ESCbardziej przypominam szukanie nie podglądu, ale rzeczywistego okna.
  • Mam zainstalowany AutoHotKey. Wszelkie sugestie dotyczące skryptu, który rozwija ALT+ ESCfunkcjonalność? Czy to niemożliwe?

UWAGA 2: ALT+ SHIFT+ ESC„przełącza” przez „otwarte” okna do tyłu.

UWAGA 3: Zainstalowałem również X Button Button i przypisałem ALT+ ESCi ALT+ SHIFT+ ESCdo przycisków 4 i 5 mojej myszy, skutecznie przechodząc przez „otwarte” okna aplikacji, naciskając przyciski myszy. Gdyby to było trochę lepsze ...

Spiros Kunelis
źródło
Czy Win+ Tab(Windows Aero „Flip”) nie działa w systemie Windows 8? Wydaje się, że robi to, co chcesz w systemie Windows 7 ... przechodzi przez wszystkie (w tym zminimalizowane) okna, pokazując duży podgląd każdego z nich.
MrWhite
Jakie dokładnie jest twoje pytanie? Nie będziesz w stanie zmienić zachowania tego skrótu klawiaturowego, jest to funkcja w samym systemie Windows, nie jest jasne, jaki jest twój cel końcowy.
Ramhound
Do pierwszego komentatora (użyłbym słowa komentator, ale przypomina mi o sporcie i polityce): Nie, Windows Aero „Flip” nie działa w systemie Windows 8. (Istnieje narzędzie, które jest dostępne bezpłatnie, ale dodaje tę funkcjonalność do Windows 8. Dzięki, nie zastanawiałem się nad tym).
Spiros Kunelis,
Do drugiego komentatora: Mój cel: mam nadzieję, że ekspert w języku skryptowym AutoHotKey zajął się tym samym problemem co ja i opracował rozwiązanie, tj. gotowy skrypt, który mogę uruchomić. (AutoHotKey to język skryptowy dla systemu Windows, który zapewnia dostęp do wielu parametrów systemu operacyjnego. Może być używany do automatyzacji systemu Windows zgodnie z preferencjami użytkownika, nie jest większy niż 5 MB, ale wymaga zaawansowanych umiejętności programistycznych. Mam nadzieję, że naucz się szybko, ale jest to bardzo złożone. Gdyby ktoś miał taki sam problem jak ja, oszczędziłbym sobie wysiłku).
Spiros Kunelis,
1
WSKAZÓWKA: Aby skierować komentarz do innego użytkownika, możesz poprzedzić jego nazwę użytkownika @. na przykład. @Spiros - otrzymają powiadomienie.
MrWhite

Odpowiedzi:

1

Spróbuj tego:

#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
użytkownik3419297
źródło
to nie działa na moim komputerze! Zobaczę jednak, z których części mogę skorzystać ... Dzięki!
Spiros Kunelis,
Upewnij się, że masz najnowszą wersję AHK z witryny ahkscript.org .
user3419297,
1

OK, chłopaki, znalazłem rozwiązanie ..................

Gdzieś po wielu poszukiwaniach ........

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

    XButton2::
    Send, {AltDown}{ShiftDown}{Esc}{ShiftUp}{AltUp}
    Sleep, 0
    WinActivate, A
    Return
Spiros Kunelis
źródło