按下ALT+TAB对我在 Windows 8.1 PC 桌面上打开的窗口之间导航非常有帮助。
注 1:出现的菜单不仅使用户能够在打开的桌面窗口之间导航,还可以最小化到任务栏窗口。
- 有效地ALT+TAB让人们能够在所有打开的应用程序之间“切换”,当然,这些应用程序都显示在一个窗口中。
- 现在,我总体上并不精通编程。但我通常打开许多窗口,并希望在它们之间快速导航。
- 我发现ALT+ESC实际上能更好地满足我的需求,因为它更快,即
- 我不需要像使用ALT+那样单击额外的按钮来进入我感兴趣的窗口TAB。
- 那就好了,我本来会成为一名快乐的 Windows 用户,但是ALT+ESC不会循环最小化到任务栏窗口。
- ALT事实上它确实循环播放它们,但并不像+那样显示它们的预览TAB。
- 实际上,使用ALT+ESC我更像是在寻找实际窗口而不是预览。
- ALT我安装了 AutoHotKey。有没有关于开发+功能的脚本的建议ESC?或者这是不可能的?
注 2:ALT++通过“打开”的窗口向后“循环” SHIFT。ESC
注 3:我还安装了 X 鼠标按钮控制,并将ALT+ESC和ALT+ SHIFT+分配ESC给鼠标的 4 和 5 按钮,这样只需按下鼠标上的按钮即可有效地循环显示“打开的”应用程序窗口。如果这样更好一点就好了……
答案1
好的伙计们我找到了解决方案.................
经过大量搜索后......
XButton1::
Send, {AltDown}{Esc}{AltUp}
Sleep, 0
WinActivate, A
Return
XButton2::
Send, {AltDown}{ShiftDown}{Esc}{ShiftUp}{AltUp}
Sleep, 0
WinActivate, A
Return
答案2
尝试这个:
#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