มีทางลัดใน Windows 7 เพื่อสลับระหว่าง windows ในแอปพลิเคชันที่ระบุเท่านั้นหรือไม่ ฉันชอบคุณลักษณะนี้ใน OS X มาก มันเทียบเท่ากับอะไรใน Windows
มีทางลัดใน Windows 7 เพื่อสลับระหว่าง windows ในแอปพลิเคชันที่ระบุเท่านั้นหรือไม่ ฉันชอบคุณลักษณะนี้ใน OS X มาก มันเทียบเท่ากับอะไรใน Windows
คำตอบ:
หากเป็นหนึ่งในสิบแอปพลิเคชันแรกบนทาสก์บาร์จากนั้น (Win)+ nโดยที่nคือหมายเลขตำแหน่งจะเลือกและหมุนไปตามหน้าต่าง (ใช้0(เป็นศูนย์) สำหรับแอปพลิเคชันที่สิบ) ตัวอย่างเช่นฉันมี Windows Explorer และ Internet Explorer ที่ถูกตรึงเป็นสองสิ่งแรกบนแถบงานของฉันดังนั้นฉันจึงสามารถใช้+ 1เพื่อวนดูไดเรกทอรีของฉันและ+ 2เพื่อหมุนเวียนผ่านเบราว์เซอร์ของฉัน
หมายเหตุแปลก ๆ :
หากคุณกด ตัวเลขค้างไว้แล้วพิมพ์ (และปล่อย) ตัวเลขnWindows จะเปิด แอปพลิเคชั่นที่nบนทาสก์บาร์ การแตะซ้ำ ๆn จะวนไปตามหน้าต่างของโปรแกรมดังที่กล่าวข้างต้น ตามที่ ระบุโดย TranslucentCloudหากคุณพิมพ์Shift+ nมันจะวนรอบในลำดับย้อนกลับเช่นเดียวกับAlt+ Tab และ Ctrl+ Tabฯลฯ
หากแอปพลิเคชั่นที่nบนทาสก์บาร์ถูกตรึง แต่ไม่ได้รันแล้ว+ nจะเริ่มทำงาน
ใน Windows 7 และ 8 แม้ว่าจะไม่มีทางลัดที่ฉันรู้จักจากแป้นพิมพ์เพียงอย่างเดียวคุณสามารถกดค้างไว้Ctrlในขณะที่คลิกที่ไอคอนแถบงานของแอพที่คุณสนใจแต่ละครั้งที่คุณทำเช่นนี้จะเป็นหน้าต่างที่แตกต่างกันของแอพนั้น ๆ มาแถวหน้า
นอกจากนี้โปรแกรมVistaSwitcherตั้งค่าWin+ F11และAlt+ `เพื่อสลับระหว่างหน้าต่างของแอพปัจจุบัน (BTW, เว็บไซต์ของมันบอกว่า Windows 8 ไม่รองรับ แต่ฉันโชคดีกับมันภายใต้ 8.1; ปัญหาเดียวที่ฉันเคยเห็นคือบางครั้งมันแสดงรายการสิ่งต่าง ๆ เช่นแถบค้นหาด้านข้างเป็นหน้าต่างแบบเปิดฉันไม่สนใจ นั่น แต่ YMMV)
alt-tab terminator
ไม่มีคุณสมบัติในการแท็บระหว่างแอปพลิเคชันเดียวกันอีกต่อไป
คุณสามารถใช้ AutoHotkey: www.autohotkey.com
และวางสคริปต์นี้ไว้ที่นั่น:
!`:: ; Next window
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
IF WinClassCount = 1
Return
Else
WinGet, List, List, % "ahk_class " ActiveClass
Loop, % List
{
index := List - A_Index + 1
WinGet, State, MinMax, % "ahk_id " List%index%
if (State <> -1)
{
WinID := List%index%
break
}
}
WinActivate, % "ahk_id " WinID
return
!^`:: ; Last window
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
IF WinClassCount = 1
Return
Else
WinGet, List, List, % "ahk_class " ActiveClass
Loop, % List
{
index := List - A_Index + 1
WinGet, State, MinMax, % "ahk_id " List%index%
if (State <> -1)
{
WinID := List%index%
break
}
}
WinActivate, % "ahk_id " WinID
return
ทำงานได้ดีมากสำหรับฉัน ใช้ Autohotkey ฉันยังสร้างสำเนา / วาง / เลิกทำ ... ปุ่มเช่น Mac ใช้งานได้ดี!
ยุค
WinGet, List
ส่งคืนจำนวนหน้าต่างในList
ตัวแปร (ซึ่งตรงข้ามกับList%n%
pseudoarray ที่จัดเก็บที่จับ) เพื่อให้คุณสามารถข้ามการWinGet, WinClassCount
โทรและตรวจสอบList
แทนได้ นอกจากนี้ดูเหมือนว่ารหัสจะเหมือนกันสำหรับทั้งสองปุ่ม
ขอบคุณ Erasmose แต่สคริปต์ autohotkey รุ่นของคุณจะย่อขนาดหน้าต่างให้เล็กที่สุดหากไม่มีประเภทหน้าต่างอื่น บางครั้งคุณไม่ทราบและการย่อขนาดเป็นวิธีที่น่ารำคาญในการค้นหาดังนั้นฉันจึงปรับเปลี่ยนสคริปต์ของคุณดังนี้:
!`:: ; Next window
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
IF WinClassCount = 1
Return
Else
WinSet, Bottom,, A
WinActivate, ahk_class %ActiveClass%
return
!+`:: ; Last window
WinGetClass, ActiveClass, A
WinActivateBottom, ahk_class %ActiveClass%
return
โอ้และฉันก็เปลี่ยนคลาสไปใช้กะแทน ctrl เพราะฉันเป็นตัวดัดแปลงที่จะย้อนกลับด้วยแป้นพิมพ์ลัดอื่น ๆ ฉันชอบ autohotkey
แอปพลิเคชันบางอย่างที่ใช้ MDI จะให้ Ctrl + Tab เพื่อสลับระหว่าง "เอกสาร" ภายใต้อินสแตนซ์ของแอปพลิเคชันเดียวกัน เช่น MS Office แต่นี่ไม่ใช่คุณลักษณะของ windows และขึ้นอยู่กับแอปพลิเคชัน สำหรับซอฟต์แวร์อื่นมีทางลัดที่แตกต่างกัน เช่น Firefox ไม่มีคุณสมบัตินี้ แต่มีโปรแกรมเสริมที่เพิ่มฟังก์ชันการทำงาน
นอกจากนี้นี่คือรายการแป้นพิมพ์ลัดที่มีให้ใน windows
นอกจากนี้ยังมีการสนทนาเกี่ยวกับแป้นพิมพ์ลัดใน Windows
หวังว่าจะช่วย
Easy Windows Switcherจาก Neosmart ทำในสิ่งที่คุณต้องการอย่างแท้จริง
นี่คือคำอธิบายจากที่ง่ายต่อการใช้ Windows Switcherเว็บไซต์
Easy Window Switcher ทำให้การสลับระหว่างหน้าต่างต่าง ๆ เป็นเรื่องง่ายเหมือนalt+`(นั่นคือ alt + backtick) เหมือนกับบน Mac อย่าลืมที่จะ
alt+tab
เปิดหน้าต่างที่แตกต่างกันระหว่างหนึ่งล้านกับหนึ่งเพื่อหาหน้าต่างที่คุณกำลังมองหาด้วย Easy Window Switcher การแท็บระหว่างหน้าต่างของโปรแกรมเดียวกันนั้นอยู่alt+`ห่างออกไปเพียงไม่กี่ก้าว
VistaSwitcher อนุญาตหรือสำหรับคุณสมบัตินี้ มันเข้ากันได้กับ Windows 10 (แม้ว่าชื่อจะแนะนำเป็นอย่างอื่น) ใน Windows 8 ขึ้นไปฉันแนะนำให้เพิ่มแอพ metro บางอย่างลงในรายการที่แยก
คำตอบยอดนิยมเป็นสิ่งที่ดี แต่ไม่ทำงานในการตั้งค่าหลายจอภาพที่แถบงานถูกตั้งค่าให้แสดงเฉพาะไอคอนบนจอภาพที่ใช้งานอยู่
นอกเหนือจากสิ่งที่ Scott ( https://superuser.com/users/150988/scott ) แบ่งปัน:
ctrl+ repeatedly click บนไอคอนแอพในแถบงานก็จะทำงานเช่นกัน
ด้วย AutoHotkey เช่นกันพฤติกรรมที่เป็นธรรมชาติมากขึ้น:
; Switch between windows of the same application with Alt+(key above Tab)
; Icon: made by Freepik (www.freepik.com), licence CC 3.0 BY
; from https://www.flaticon.com/free-icon/switch-window_71630
; Script Licence: CC0 (Public Domain)
; Source: https://framagit.org/dr4Ke/AutoHotkey_scripts
KeyName := GetKeyName("sc029")
Menu, Tray, Tip, Switch between windows of the same applications with 'Alt+%KeyName%'
*!SC029::
WinGetClass, ActiveClass, A
WinGet, WinClassCount, Count, ahk_class %ActiveClass%
If WinClassCount = 1
Return
WinGet, List, List, % "ahk_class " ActiveClass
index := 0
if not GetKeyState("Shift") {
index := 1
}
;MsgBox, Entering Loop
While GetKeyState("Alt") {
If GetKeyState("Shift") {
index := Mod(List + index - 2, List) + 1
} else {
index := Mod(List + index, List) + 1
}
WinGet, State, MinMax, % "ahk_id " List%index%
if (State == -1)
{
continue
}
WinID := List%index%
WinActivate, % "ahk_id " WinID
ErrorLevel := 1
sleep 50
While (ErrorLevel != 0) and GetKeyState("Alt") {
KeyWait, sc029, DT1
}
}
return
ฉันสร้างสคริปต์ AutoHotkey สลับระหว่างหน้าต่างโปรแกรมเดียวกันที่ทำงานร่วมกับปกติหน้าต่างปพลิเคชัน , Chrome ลัดและแอป Chrome
ในGithub repoนั้นมีสคริปต์ AutoHotkey อีกอันที่สามารถทำงานได้ดีกับสคริปต์นี้เพราะคุณจะสามารถเปิดกู้คืนหรือลดขนาดแอปของคุณโดยใช้ปุ่มลัดที่คุณต้องการ
ตัวอย่าง:
F7:: OpenOrShowAppBasedOnExeName("C:\Windows\System32\SnippingTool.exe")
F8:: OpenOrShowAppBasedOnWindowTitle("Gmail", "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --app=https://mail.google.com/mail/")
ฉันสร้างสคริปต์AutoHotkeyที่รวมเข้ากับ Windows Task Switcher ( Alt+ Tab) ได้อย่างดีโดยให้ประโยชน์ทั้งหมด: ภาพตัวอย่างของหน้าต่างแอพคลิกเพื่อเลือกการนำทางปุ่มลูกศรเปิดใช้งานหน้าต่างเดียวที่คุณต้องการเท่านั้น เรียกใช้ / นำทางด้วยAlt+ `และAlt+ Shift+ `(backtick) เพื่อสลับระหว่างหน้าต่างที่มีชื่อกระบวนการเหมือนกับหน้าต่างปัจจุบัน ฉันคิดว่ามันใช้งานได้ดีกว่าWin+ numเพราะมันใช้งานได้กับแอพใด ๆ (แทนที่จะจำหมายเลขสล็อตที่ตรึงไว้) ตัวอย่างหน้าต่างที่ใหญ่กว่าพื้นหลังไม่เบลอและมันผสมผสานกับการนำทางAlt+ ได้อย่างราบรื่น Tabทดสอบบน Windows 10
เคล็ดลับสำคัญคือการชั่วคราวซ่อนหน้าต่างโปรแกรมประยุกต์ที่ไม่ใช่เป้าหมายจาก Task Switcher โดยการตั้งค่าWS_EX_TOOLWINDOW
และ WS_EX_APPWINDOW
unsetting เพื่อที่จะตั้งหน้าต่างเหล่านี้รูปแบบบน Windows ทำงานในฐานะผู้ดูแลAutoHotkey จะต้องมีการลงนามหรือเรียกใช้เป็นผู้ดูแลระบบ ผมทำตามคำแนะนำการลงนามเรื่องง่ายมากที่นี่
บางหัวข้อที่เกี่ยวข้องที่สนับสนุน:
!`::
{
WS_EX_TOOLWINDOW = 0x80
WS_EX_APPWINDOW = 0x40000
tw := []
aw := []
WinGet, processName, ProcessName, A
DetectHiddenWindows, Off
AltTab_window_list(1)
Loop, %AltTab_ID_List_0%
{
wid := AltTab_ID_List_%A_Index%
WinGet, processName2, ProcessName, ahk_id %wid%
if (processName2 != processName)
{
WinGet, exStyle2, ExStyle, ahk_id %wid%
if (!(exStyle2 & WS_EX_TOOLWINDOW))
{
tw.InsertAt(0, wid)
WinSet, ExStyle, ^0x80, ahk_id %wid%
}
if ((exStyle2 & WS_EX_APPWINDOW))
{
aw.InsertAt(0, wid)
WinSet, ExStyle, ^0x40000, ahk_id %wid%
}
}
}
Send {Alt Down}{Tab} ; Bring up switcher immediately
KeyWait, ``, T.25 ; Go to next window; wait .25s before looping
if (Errorlevel == 0)
{
While ( GetKeyState( "Alt","P" ) )
{
KeyWait, ``, D T.25
if (Errorlevel == 0)
{
if (GetKeyState( "Shift","P" ))
{
Send {Alt Down}{Shift Down}{Tab}
Sleep, 200
}
else
{
Send {Alt Down}{Tab}
Sleep, 200
}
}
}
}
Send {Alt Up} ; Close switcher on hotkey release
for index, wid in tw
{
WinSet, ExStyle, ^0x80, ahk_id %wid%
}
for index, wid in aw
{
WinSet, ExStyle, ^0x40000, ahk_id %wid%
}
}
return
AltTab_window_list(excludeToolWindows)
{
global
WS_EX_CONTROLPARENT =0x10000
WS_EX_APPWINDOW =0x40000
WS_EX_TOOLWINDOW =0x80
WS_DISABLED =0x8000000
WS_POPUP =0x80000000
AltTab_ID_List_ =0
WinGet, Window_List, List,,, Program Manager ; Gather a list of running programs
id_list =
Loop, %Window_List%
{
wid := Window_List%A_Index%
WinGetTitle, wid_Title, ahk_id %wid%
WinGet, Style, Style, ahk_id %wid%
If ((Style & WS_DISABLED) or ! (wid_Title)) ; skip unimportant windows
Continue
WinGet, es, ExStyle, ahk_id %wid%
Parent := Decimal_to_Hex( DllCall( "GetParent", "uint", wid ) )
WinGetClass, Win_Class, ahk_id %wid%
WinGet, Style_parent, Style, ahk_id %Parent%
If ((excludeToolWindows & (es & WS_EX_TOOLWINDOW))
or ((es & ws_ex_controlparent) and ! (Style & WS_POPUP) and !(Win_Class ="#32770") and ! (es & WS_EX_APPWINDOW)) ; pspad child window excluded
or ((Style & WS_POPUP) and (Parent) and ((Style_parent & WS_DISABLED) =0))) ; notepad find window excluded ; note - some windows result in blank value so must test for zero instead of using NOT operator!
continue
AltTab_ID_List_ ++
AltTab_ID_List_%AltTab_ID_List_% :=wid
}
AltTab_ID_List_0 := AltTab_ID_List_
}
ใช้ Autohotkey นี่เป็นเวอร์ชันของฉันซึ่งทำงานกับแอป Chrome และ Electron ได้รับการแก้ไขจากคำตอบของ@ user332861เพื่อให้แยกความแตกต่างระหว่างแอป Chrome และอิเล็กตรอนอย่างถูกต้องเช่น Slack และ Visual Studio Code (ในการทำเช่นนั้นจะใช้ahk_exe
แทนahk_class
)
!`:: ; Next window if using alt-backtick
WinGet, ExeName, ProcessName , A
WinGet, ExeCount, Count, ahk_exe %ExeName%
If ExeCount = 1
Return
Else
WinSet, Bottom,, A
WinActivate, ahk_exe %ExeName%
return
!+`:: ; prev window, Alt+shift+backtick
WinGet, ExeName, ProcessName , A
WinActivateBottom, ahk_exe %ExeName%
return
!`::
#`::
WinGet, ExeName, ProcessName, A
WinActivateBottom, ahk_exe %ExeName%
return
ย่อจากคำตอบของ @ otter.pro สิ่งนี้จะวนไปทางด้านหลังผ่านหน้าต่างแอพพลิเคชันปัจจุบัน การขี่จักรยานไปข้างหน้าอาจทำให้เกิดการกระพริบสั้น ๆ ของหน้าต่างอื่น ๆ ปรากฏขึ้น เนื่องจากการไม่เห็นกะพริบอาจมีความสำคัญมากกว่าการขี่จักรยานแบบสองทิศทาง นอกจากนี้คำตอบนี้ยังช่วยให้ # `เป็นทางเลือก! 'เนื่องจากเป็นคีย์ผสมสำหรับทางลัดของ Mac