วิธีเปลี่ยนคีย์ลัดสำหรับสลับระหว่างเดสก์ท็อปเสมือนใน windows 10 ได้อย่างไร


64

ในลินุกซ์ผมใช้ทางลัดเพื่อสลับระหว่าง 4 winพื้นที่ทำงาน: 1/2/3/4+

ฉันต้องการมีอะไรแบบนี้ใน Windows 10

โซลูชันการปรับปรุง 2017, WINDOWS 10x64

  1. อัปเดตเวอร์ชัน windows ของคุณเป็นเวอร์ชันล่าสุดผ่านตัว อัพเดตนี้ คุณอาจต้องการVisual C ++ Redistributable สำหรับ Visual Studio 2015
  2. ดาวน์โหลดและแตกไฟล์ Windows 10 Virtual Desktop Enhancer (0.9.1) นี้ใช้งานได้สำหรับฉัน
  3. เปลี่ยนเนื้อหาของไฟล์ settings.ini เป็น
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. เรียกเสมือนเดสก์ทอป enhancer.exeเป็นผู้ดูแลระบบ

2
นี่เป็นคำถามที่ถูกต้อง ใน Windows 10 คุณได้รับอนุญาตให้สลับระหว่างมุมมองเดสก์ท็อปเสมือน สิ่งนี้คล้ายกับวิธีที่ Mac OSX และ Linux ให้คุณเปลี่ยนได้ในอดีต
Geruta

อาจจะมีพรอมต์คำสั่งหรือคำสั่ง powershell ที่สามารถเปลี่ยนเป็นเดสก์ท็อปที่เฉพาะเจาะจงได้หรือไม่ (ถ้าเป็นเช่นนั้นควรสร้างสคริปต์แบทช์หรืออะไรก็ได้แล้วใช้ autohotkey เพื่อเปลี่ยนเส้นทาง win + 1/2/3/4 ไปยังชุดสคริปต์ดังกล่าว) มิฉะนั้นเมื่อโปรแกรมเปลี่ยนโฟกัสไปที่ windows 10 จะเปลี่ยนไป ไปยังเดสก์ท็อปที่เปิดโปรแกรม ดังนั้นนี่หมายความว่าหากมีวิธีการเปิดโปรแกรมบนเดสก์ท็อปที่เฉพาะเจาะจงอาจเป็นไปได้ที่จะทำสิ่งที่ฉันอธิบายไว้ข้างต้นด้วยเล่ห์เหลี่ยมบางอย่างตามฟังก์ชั่นนั้นแทน
นักบวช

โปรดทราบว่าตามค่าเริ่มต้นใน Windows 10 จะWIN + 1/2/3/4...เปิดสลับไปมาหรือย่อเล็กสุดหน้าต่างในตำแหน่งหมายเลขที่สอดคล้องกันในแถบงาน ตัวอย่างเช่นหากฉันได้ตรึง Chrome ไว้ที่ทาสก์บาร์ในตำแหน่งที่ 1 และถูกปิดอยู่ในปัจจุบันWIN + 1ก็จะเปิดขึ้นมา การกดอีกครั้งจะย่อเล็กสุดและการกดอีกครั้งจะทำให้หน้าต่างกลับมา ฉันสามารถรวมสิ่งนี้กับทางลัดอื่น ๆ ; ตอนนี้การกดWIN + SHIFT + 1จะเปิดหน้าต่าง Chrome ใหม่ตัวอย่างเช่น
Ninjakannon

อัปเดต: เวอร์ชัน (0.9.1) ทำงานได้โดยไม่มีปัญหาใด ๆ 1903 พฤษภาคม 2019
Dariusz Filipiak

คำตอบ:


41

สิ่งที่คุณต้องการมีดังนี้:

  • หน้าต่างการหักมุม: WIN +LEFTหรือRIGHT (สามารถใช้กับUPหรือDOWNเพื่อเข้าสู่จตุภาค)
  • สลับไปที่หน้าต่างล่าสุด: Alt +Tab(ไม่เปลี่ยนแปลง) - กดค้างไว้จะแสดงมุมมองหน้าต่างใหม่ของมุมมองงาน, ปล่อยวางและสลับไปที่แอป
  • มุมมองงาน: WIN +Tab- มุมมองงานใหม่จะเปิดขึ้นและเปิดอยู่
  • สร้างเดสก์ท็อปเสมือนใหม่: WIN +Ctrl+d
  • ปิดเดสก์ท็อปเสมือนปัจจุบัน: WIN +Ctrl+F4
  • สลับเดสก์ท็อปเสมือน: WIN +Ctrl+LEFTหรือRIGHT

ดังนั้นความแตกต่างที่นี่คือคุณต้องสร้างเดสก์ท็อปที่สองด้วย (ชนะ + CTRL + D) แล้วสลับไปที่มันด้วย (ชนะ + CTRL + ขวา)
Geruta

17
ยังไม่มีวิธีสลับไปยังเดสก์ท็อปที่ต้องการด้วยทางลัดเดียว (เช่นตรงจากเดสก์ท็อป 1 ถึงเดสก์ท็อป 3)
Cestarian

ขออภัย WIN CTRL RIGHT ไม่สามารถใช้งานได้กับ Samsung Ativ 9+ LEFT ทำงานได้ แต่ไม่มีการห่อหุ้มเช่นเดสก์ท็อปเสมือน 3 เครื่อง ใครที่มีประสบการณ์ที่ดีกว่า
คาร์ล

3
ลดระดับลงเนื่องจากไม่ตอบคำถาม: มันถามถึงวิธีการเปลี่ยนแปลงโดยเฉพาะเพื่อให้สามารถใช้หมายเลขเดสก์ท็อปเพื่อเปลี่ยนเป็น
Luc

16

ฉันคิดว่าฉันเพิ่งสร้างสิ่งที่คุณกำลังมองหา ฉันใช้ตัวจัดการหน้าต่างบน linux และต้องการใช้ปุ่มลัดในลักษณะเดียวกันกับ Windows

https://github.com/pmb6tz/windows-desktop-switcher

สคริปต์ของฉันใช้ CapsLock เพราะสะดวกกว่าสำหรับฉัน แต่คุณสามารถกำหนดค่าให้ใช้งานได้ง่าย อาจมีข้อผิดพลาดหรือสองในนั้น แต่โดยทั่วไปฉันพบว่ามันค่อนข้างแข็ง หวังว่านี่จะช่วยคุณได้!


สคริปต์นั้นใช้งานได้อย่างสมบูรณ์แบบหลังจากฉันแสดงความคิดเห็นในย่อหน้าสุดท้ายของรหัส ขอบคุณสำหรับการแชร์. ฉันได้ทำการร้องขอแบบดึงพร้อมกับการเปลี่ยนแปลงที่ฉันทำกับรหัส
David

12

ฉันเพิ่งสร้างสคริปต์สำหรับautohotkeyที่ทำสิ่งนี้ใน Windows 10 ได้ถึง 10 เดสก์ท็อป

วิธีทำให้มันทำงาน:

ดาวน์โหลดและติดตั้งAutoHotKey คัดลอกและวางรหัสตะโกนลงใน Notepad และบันทึกด้วยนามสกุลไฟล์. ahk

ฉันขอแนะนำให้สร้างทางลัดของไฟล์นี้ในโฟลเดอร์เริ่มต้นของคุณเพื่อให้ทำงานเมื่อ Windows เริ่มทำงาน

ค่าเริ่มต้น HOTKEYS:

สลับเดสก์ท็อป: ชนะ + หมายเลขเดสก์ท็อป (0 = หมายเลขเดสก์ท็อป 10)

เดสก์ท็อปใหม่: CTRL + WIN + D

ปิดเดสก์ท็อป: CTRL + WIN + F4

แสดงสถานะเดสก์ท็อป: WIN + '

สิ่งสำคัญ:

เพื่อให้มันใช้งานได้คุณจะต้องใช้ปุ่มลัดเท่านั้นในการเปิดปิดและเปลี่ยนเดสก์ท็อปเนื่องจากสคริปต์จะรับฟังปุ่มลัดเหล่านี้เพื่อทราบจำนวนเดสก์ท็อปปัจจุบันและทั้งหมด

หากคุณสร้างปิดหรือเปลี่ยนเดสก์ท็อปผ่านเมนู WIN + TAB ด้วยเมาส์สคริปต์จะหยุดทำงาน เพื่อให้มันทำงานได้อีกครั้งคุณจะต้องแก้ไขสองบรรทัดแรกเพื่อแสดงสถานะปัจจุบันของเดสก์ท็อปของคุณ (desktopcount / currentdesktop)

นี่ไม่ได้หมายความว่าคุณไม่สามารถใช้หน้าจอ WIN + TAB เป็นภาพรวมของเดสก์ท็อปปัจจุบันของคุณ คุณสามารถใช้ปุ่มนี้ร่วมกับปุ่มลัดเพื่อจัดระเบียบเดสก์ท็อปของคุณ ใช่ปุ่มลัดยังคงทำงานเมื่อโปรแกรมดูงาน Windows เปิดอยู่! (ชนะ + TAB) อย่าใช้เมาส์ !!!

และรอให้สคริปต์โหลดหลังจากเริ่มทำงาน Windows ก่อนที่จะสร้างเดสก์ท็อปใหม่ไม่เช่นนั้นจะไม่ทำงาน อาจใช้เวลาสักครู่ขึ้นอยู่กับจำนวนโปรแกรมเริ่มต้นที่คุณมี

ตกลงฉันได้เพิ่มอีกหนึ่งสิ่งเพื่อให้การซิงค์สคริปต์กับสถานะเดสก์ท็อปของคุณง่ายขึ้น ขณะนี้มีฮอตคีย์ที่จะแสดงสถานะสคริปต์ที่เชื่อว่าเดสก์ท็อปอยู่ในสิ่งที่คุณต้องทำคือปรับเดสก์ท็อปของคุณด้วยเมาส์เพื่อให้พอดีกับสคริปต์และจะซิงค์ทั้งหมดอีกครั้ง! สำหรับฉันด้วยแป้นพิมพ์ภาษาสวิสมันได้ผลเป็นอย่างดีว่า '? คีย์ถัดจาก 0 และทำให้เหมาะสมกับ? บนมัน แต่บนแป้นพิมพ์อื่น ๆ คุณอาจต้องการเปลี่ยนสิ่งนี้ซึ่งสามารถทำได้อย่างง่ายดายโดยการเปลี่ยนบรรทัดทันทีหลังจากปุ่มลัดสำหรับ 0/10 (เริ่มต้นด้วย # ') เป็นสิ่งที่คุณต้องการ

ที่จริงแล้วฉันเพิ่งรู้ .... ตราบใดที่การนับเดสก์ท็อปถูกต้องกว่าการสร้างเดสก์ท็อปใหม่จะซิงค์ค่าเดสก์ท็อปปัจจุบันอีกครั้งโดยอัตโนมัติ

(บรรทัดที่ขึ้นต้นด้วยคือความคิดเห็นและไม่มีผลกับสคริปต์)

รหัส:

#NoTrayIcon
;If the script stops working:
;Change the following values to reflect your current desktop state and reload the script.
;Remember to change them back to 1 after reloading the script if you have it set to start with Windows

desktopcount := 1
currentdesktop := 1

;You can change the hotkeys for creating, closing, and switching desktops bellow.
;The current hotkeys are CTRL+WIN+D for new desktop, CTRL+WIN+F4 to close desktop
;and WIN+NUMBER for switching desktops.
;For example, to change the hotkey for new desktop replace ^#D bellow with the desired hotkey.
;Refer to the autohotkey documentation for a full list of symbols refering to modifier keys,
;as you can see ^ is CTRL and # is WIN key.
;If you wanted to change the switch desktop from WIN key to CTRL for example you would have
;to replace the # before each number to a ^

^#D::NewDesktop()
^#F4::CloseDesktop()
#1::SwitchDesktop(1)
#2::SwitchDesktop(2)
#3::SwitchDesktop(3)
#4::SwitchDesktop(4)
#5::SwitchDesktop(5)
#6::SwitchDesktop(6)
#7::SwitchDesktop(7)
#8::SwitchDesktop(8)
#9::SwitchDesktop(9)
#0::SwitchDesktop(10)
#'::MsgBox Desktop Count = %desktopcount%`nCurrent Desktop = %currentdesktop%

;Do not change anything after this line, unless you know what you are doing ;)
;-----------------------------------------------------------------------------------------------
SwitchDesktop(desktop)
{

    global desktopcount
    global currentdesktop
    desktopdiff := desktop - currentdesktop
    if (desktop > desktopcount)
    {
        return
    }
    if (desktopdiff < 0)
    {
        desktopdiff *= -1
        Loop %desktopdiff%
        {
        Send ^#{Left}
        }   
    }
    else if (desktopdiff > 0)
    {
        Loop %desktopdiff%
        {
        Send ^#{Right}
        }
    }
    currentdesktop := desktop
}

NewDesktop()
{
    global desktopcount
    global currentdesktop
    if (desktopcount > 9)
    {
        return
    }
    desktopcount ++
    currentdesktop := desktopcount
    Send ^#d
}

CloseDesktop()
{
    global desktopcount
    global currentdesktop
    desktopcount --
    if (currentdesktop != 1)
    {
        currentdesktop --
    }
    Send ^#{f4}
}

นอกจากนี้คุณสามารถเพิ่ม #NoTrayIcon ที่จุดเริ่มต้นของสคริปต์ถ้าคุณไม่ชอบไอคอนสีเขียวเล็ก ๆ ในถาดระบบ
OptimistPrime

1
โอ้ ... ฉันสร้างสคริปต์ที่ดีขึ้นแล้วที่ทำให้เดสก์ท็อปที่ใช้งานอยู่และยอดรวมทั้งหมดจากรีจิสทรี ความคิดที่ดี!
OptimistPrime

1
แม้ว่าโปรดทราบว่าเส้นทางรีจิสทรีอาจแตกต่างกันสำหรับผู้ใช้ / คอมพิวเตอร์ ฉันไม่รู้ว่าสิ่งใดมีอิทธิพลต่อสิ่งนี้ แต่เส้นทางสำหรับ id เดสก์ท็อปปัจจุบันของฉันอยู่ในโฟลเดอร์ที่มีหมายเลข 2 ไม่ใช่ 1: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\2\VirtualDesktops
OptimistPrime

ผู้ชายที่น่ากลัว !! ขอบคุณสำหรับการแบ่งปัน. ฉันเพิ่งเปลี่ยน # 1 ด้วย ^ 1 ฉันต้องการใช้ Ctrl แทนปุ่ม Win
Gueorgui Obregon

สคริปต์นี้ยอดเยี่ยม! สิ่งเดียวกับฉันคือฉันได้รับการแมปล็อกใหม่แล้วและฉันต้องการเพิ่มสิ่งนี้ในสคริปต์ของฉัน น่าเศร้าที่มันไม่ทำงาน ใช้งานได้เฉพาะเมื่อฉันลบบรรทัดต่อไปนี้ (ก่อนหน้าสคริปต์): CapsLock :: Ctrl ความคิดใด ๆ ที่ฉันจะแก้ไขได้อย่างไร การลบบรรทัดนี้ใช้งานได้ แต่การที่ CAPSLOCK ทำหน้าที่เป็น Ctrl นั้นสำคัญมากสำหรับฉัน ...
bitstream

1

ตัวอย่างเช่นฉันต้องการตั้งค่า Page Down สำหรับเดสก์ท็อปถัดไปและ Page Up สำหรับเดสก์ท็อปก่อนหน้าหลังจากฉันติดตั้ง AutoHotkey ฉันสร้างสคริปต์ AutoHotKey ใหม่และเพิ่มรหัสนี้และบันทึกจากนั้นเรียกใช้สคริปต์

PgDn::^#Right ;Next Desktop
return 

PgUp::^#Left ;Previous Desktop
return 

และมันจะทำงานได้ดี :)

อัปเดต: บางครั้งรหัสข้างต้นใช้งานไม่ได้และคุณต้องคลิกที่จุดหนึ่งจากนั้นฉันเปลี่ยนเป็น:

PgDn::
   {
      MouseGetPos,,,win
      WinGetClass, class, ahk_id %win%
      If class in Progman,WorkerW
         send {Click}^#{Right}  
      else
         send ^#{Right}  ; Next  Desktop  
      return
    }

PgUp::
    {
       MouseGetPos,,,win
       WinGetClass, class, ahk_id %win%
       If class in Progman,WorkerW
          send {Click}^#{Left}
       else
          send ^#{Left}  ; Previous Desktop  
       return
    }

0

ตกลงวิธีแก้ปัญหาบางส่วน ... เพราะฉันไม่รู้วิธีตรงไปยังเดสก์ทอปเสมือนที่เลือก:

โปรแกรมautohotkey นี้พร้อมสคริปต์:

#NoTrayIcon
#2::^#Right
#1::^#Left
#3::Return
#4::Return

1
สิ่งนี้ดีสำหรับคุณมีเดสก์ท็อปเสมือนเพียงสองเครื่อง แต่ฉันมีสามเดสก์ท็อป
Michael Beijer

-1

ฉันได้อัปเกรดแบบ inplace โดยตรงจาก Windows 7 ถึง 10 และต่อสู้กับการใช้ปุ่ม Windows + CTRL + Arrow เพื่อสลับระหว่างเดสก์ท็อปเนื่องจากไม่สามารถใช้งานได้ อย่างไรก็ตามโซลูชันนั้นง่ายในกรณีของฉัน - ใช้ปุ่มฟังก์ชั่นเดียว (F1, F2, F3 และอื่น ๆ ) เพื่อสลับระหว่างเดสก์ท็อปเสมือนได้อย่างง่ายดาย ตอนนี้ฉันไม่รู้ว่านี่เป็นแล็ปท็อป HP เฉพาะของฉันหรือเป็นส่วนหนึ่งของรุ่นที่วางจำหน่าย แต่มันทั้งหรูหราและเรียบง่าย ฉันสมมติว่าตราบใดที่คุณไม่มีปุ่มฟังก์ชั่นถูกแมปเพื่อวัตถุประสงค์อื่นมันก็ใช้ได้กับคุณเช่นกัน


1
F1 เป็นตัวช่วยสำหรับเครื่อง windows ทุกเครื่องที่ฉันเคยใช้ คำตอบของคุณไม่สมเหตุสมผล
DavidPostill

นี่ไม่ใช่ประสบการณ์ของฉันในแล็ปท็อป Dell Precision ของฉัน (พร้อม Win 10) ชนะ + Ctrl + F1 / F2 / F3 ไม่ทำอะไรเลย แม้ว่ามันจะยอดเยี่ยมถ้าพวกเขาทำ
Michael Beijer

-1

ฉันใช้เดสก์ท็อป v2.0 จาก SysInternals และฉันมี 4 เดสก์ท็อปภายใต้คีย์เดียว: F1, F2, F3, F4 (มีใครใช้ F1 สำหรับการเรียกใช้ความช่วยเหลือจริงหรือไม่) สำหรับฉันแล้วโซลูชัน Windows 10 ใช้ไม่ได้เนื่องจากมีปุ่มลัดสามปุ่ม

เดสก์ท็อปอย่างเป็นทางการ v2.0: https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx


ผลิตภัณฑ์นี้ไม่รองรับ Windows 8 ขึ้นไป ฉันจะรู้สิ่งนี้ได้อย่างไรเนื่องจากฉันจำได้เฉพาะคำถามที่ผ่านมาถามเกี่ยวกับโปรแกรมที่กล่าวใน Windows 8
Ramhound

1
อย่างไรก็ตามมันทำงานได้อย่างสมบูรณ์แบบภายใต้ Windows 8.1 และ 10
dblacha

-2

สคริปต์ AHK ที่ได้รับจาก OptimistPrime: https://superuser.com/a/1050690/184229 ไม่ทำงานสำหรับฉัน (คีย์ไม่มีผล) แต่

อันนี้ใช้ได้ดี: https://github.com/pmb6tz/windows-desktop-switcher/blob/master/desktop_switcher.ahk


โปรดอ้างอิงส่วนสำคัญของคำตอบจากลิงค์อ้างอิงเนื่องจากคำตอบอาจไม่ถูกต้องหากหน้าเชื่อมโยงมีการเปลี่ยนแปลง
DavidPostill

ฉันต้องการแสดงความคิดเห็นกับคำตอบที่ฉันอ้างถึง แต่ไม่ได้รับอนุญาต หากคุณได้ดูคำตอบของฉันอย่างใกล้ชิดคุณจะสังเกตเห็นว่า: 1. มันให้คำตอบสำหรับคำถามเดิม 2. มันจะเป็นคำพูดที่ละเอียดมากและไม่เพียงพอที่จะคัดลอกเนื้อหาของลิงค์ที่สองที่ฉันให้
dvo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.