Daha önce Windows 10'da 10'a kadar masaüstünde bunu gerçekleştiren autohotkey için bir betik hazırladım .
Nasıl çalışır hale getirilir:
Autohotkey'i indirin ve yükleyin . Körük kodunu kopyalayıp not defterine yapıştırın ve .ahk dosya uzantısıyla kaydedin
Bu dosyanın kısayolunu başlangıç klasörünüzde yapmayı öneririm, böylece Windows başladığında çalışır.
HEDEF SICAK TUŞLARI:
Masaüstünü değiştir: WIN + DESKTOP NUMBER (0 = masaüstü sayısı 10)
Yeni masaüstü: CTRL + WIN + D
Masaüstünü kapat: CTRL + WIN + F4
Masaüstü durumunu göster: WIN + '
ÖNEMLİ:
Çalışması için SADECE masaüstlerini açmak, kapatmak ve değiştirmek için kısayol tuşlarını kullanmanız gerekir, çünkü senaryo bu kısayol tuşlarının mevcut ve toplam masa üstü sayısını bilmesini dinler.
Masaüstünü yaratır, kapatır veya değiştirirseniz, fareyle WIN + SEKME menüsünden fare çalışmayı durduracaktır. Tekrar çalışmasını sağlamak için ilk iki satırı masaüstünüzün mevcut durumunu yansıtacak şekilde düzenlemeniz gerekecektir. (Desktopcount / currentdesktop)
Bu, WIN + TAB ekranını mevcut masaüstlerinize genel bakış olarak kullanamayacağınız anlamına gelmez. Masaüstünüzü düzenlemek için bunu kısayol tuşlarıyla birlikte kullanabilirsiniz. Evet, kısayol tuşları, Windows görev görüntüleyici açıldığında hala çalışıyor! (WIN + TAB) Sadece fareyi KULLANMAYIN !!!
Ayrıca, yeni masaüstleri oluşturmadan önce betiğin Windows başlatıldıktan sonra yüklenmesini bekleyin, yoksa çalışmaz. Bu, kaç tane başlangıç programınızın olduğuna bağlı olarak biraz zaman alabilir.
Tamam, betiği masaüstü durumunuzla yeniden senkronize etmeyi kolaylaştırmak için bir şey daha ekledim. Artık betiğin masaüstünün olduğuna inandığı durumu gösteren bir kısayol tuşu var, bu yüzden tek yapmanız gereken masaüstlerinizi betiğe uyacak şekilde fareyle ayarlamak ve tekrar senkronize edilecek! Benim için İsviçre klavyesi ile güzelce çalıştı '? 0 yanında anahtar ve a ile mantıklı? Üzerinde, ancak diğer klavyelerde, kısayol tuşundan hemen sonraki satırı (# 'ile başlayan) istediğiniz şekilde değiştirerek kolayca değiştirebilirsiniz.
Aslında, fark ettim ki .... Masaüstü Sayımı doğru bir şekilde yeni bir masaüstü oluşturmaktan daha doğru bir şekilde Geçerli Masaüstü değerini otomatik olarak yeniden senkronize eder.
(İle başlayan satırlar; yorumlardır ve betiği etkilemez)
Kod:
#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}
}