ฉันได้เขียนสคริปต์ AutoHotKey ขนาดเล็กเพื่อสลับเดสก์ท็อปเสมือนจริงใน Windows 10 ฉันเขียนรหัสนี้เพื่อให้ฉันสามารถสลับเดสก์ท็อปด้วยแป้นพิมพ์ลัดที่กำหนดเองแทนการใช้ทางลัดเริ่มต้นของ Windows 10 (ชนะ + CTRL + ซ้าย / ขวา)
รหัส:
#LAlt::^#Right ; switch to next desktop with Windows key + Left Alt key
#LCtrl::^#Left ; switch to next desktop with Windows key + Left CTRL key
รหัสนี้ใช้งานได้เฉพาะเมื่อคุณคลิกที่หน้าต่างหรือสิ่งอื่นใดบนเดสก์ท็อปปัจจุบันก่อนที่จะกดปุ่ม ฉันลองใช้ฟังก์ชั่นคลิกเพื่อจำลองการคลิกก่อนที่มันจะเปลี่ยนเดสก์ท็อป (ซึ่งใช้งานได้) แต่มันเลื่อนเมาส์ไปยังพิกัดที่ฉันคลิกซึ่งเห็นได้ชัดว่าไม่ใช่สิ่งที่ฉันต้องการ ฉันเล่นไปกับ ControlClick แล้ว แต่ก็ไม่เคยทำงาน
ดังนั้นคำถามของฉันคือ: มีวิธีที่ฉันสามารถตั้งโฟกัสบนเดสก์ท็อปปัจจุบันก่อนดำเนินการคำสั่งเพื่อสลับเดสก์ท็อปหรือไม่? หรืออาจจะมีวิธีอื่นที่ฉันสามารถเปลี่ยนเดสก์ท็อปโดยไม่จำลองทางลัด Win 10 เริ่มต้นได้หรือไม่
ขอบคุณ!
แก้ไข 1
สิ่งหนึ่งที่ผมสังเกตเห็นก็คือว่าถ้าฉันคลิกแถบงานแล้วทำLWin+ LAlt/ LCtrlฉันสามารถสลับไปมาได้อย่างราบรื่นโดยถือลงLWinและสลับระหว่างและLAltLCtrl
เมื่อฉันคลิกที่แถบงานจากนั้นทำLWin+ LAltนี่คือสิ่งที่ KeyHistory ถ่มน้ำลาย:
VK SC Type Up/Dn Elapsed Key Window
----------------------------------------------
5B 15B d 1.91 LWin
A4 038 h d 0.31 LAlt
A2 01D i d 0.00 LControl
A2 01D i u 0.00 LControl
A4 038 i u 0.00 LAlt
A2 01D i d 0.05 LControl
5B 15B i d 0.02 LWin
27 14D i d 0.02 Right
27 14D i u 0.00 Right
A2 01D i u 0.01 LControl
5B 15B i u 0.02 LWin
A2 01D i d 0.01 LControl
5B 15B i d 0.00 LWin
A2 01D i u 0.00 LControl
A4 038 s u 0.00 LAlt
5B 15B u 0.06 LWin
A2 01D i d 0.00 LControl
A2 01D i u 0.00 LControl
(This is what I want it to do without clicking the taskbar)
แต่เมื่อฉันกดLWin+ LAltKeyHistory จะแสดงว่าเหตุการณ์สำคัญหยุดหลังจากเหตุการณ์ "Right Up":
VK SC Type Up/Dn Elapsed Key Window
----------------------------------------------
5B 15B d 1.91 LWin
A4 038 h d 0.31 LAlt
A2 01D i d 0.00 LControl
A2 01D i u 0.00 LControl
A4 038 i u 0.00 LAlt
A2 01D i d 0.05 LControl
5B 15B i d 0.02 LWin
27 14D i d 0.02 Right
27 14D i u 0.00 Right
(There should be more after this)
เหตุการณ์ LControl Up ไม่เคยถูกยิงออกไปและดูเหมือนว่าจะทำให้ทุกอย่างสับสน
LWin+LCtrl+j/k
เพื่อสลับระหว่างเดสก์ท็อป:<^<#j::Send, ^#{Right}
และ<^<#k::Send, ^#{Left}