Saya baru saja membuat skrip untuk autohotkey yang menyelesaikan ini di Windows 10 hingga 10 desktop.
Cara membuatnya bekerja:
Unduh dan pasang autohotkey . Salin dan tempel kode di bawah ke dalam notepad dan simpan dengan ekstensi file .ahk
Saya sarankan untuk membuat pintasan file ini di folder startup Anda sehingga berjalan ketika Windows mulai.
HOTKEYS DEFAULT:
Beralih desktop: MENANG + DESKTOP NUMBER (0 = desktop nomor 10)
Desktop baru: CTRL + WIN + D
Tutup desktop: CTRL + WIN + F4
Status tampilan desktop: WIN + '
PENTING:
Agar berfungsi, Anda HANYA menggunakan hotkey untuk membuka, menutup, dan mengubah desktop karena skrip mendengarkan hotkey ini untuk mengetahui jumlah desktop saat ini dan total.
Jika Anda membuat, menutup, atau mengubah desktop melalui menu WIN + TAB dengan mouse, skrip akan berhenti bekerja. Agar dapat berfungsi kembali, Anda harus mengedit dua baris pertama untuk mencerminkan keadaan desktop Anda saat ini. (desktopcount / currentdesktop)
Ini tidak berarti Anda tidak dapat menggunakan layar WIN + TAB sebagai gambaran umum desktop Anda saat ini. Anda benar-benar dapat menggunakannya dalam kombinasi tombol pintas untuk mengatur desktop Anda. Ya, tombol pintas masih berfungsi saat penampil tugas windows terbuka! (MENANG + TAB) JANGAN gunakan mouse !!!
Juga, tunggu skrip untuk memuat setelah startup Windows sebelum membuat desktop baru atau itu tidak akan berfungsi. Ini bisa memakan waktu sebentar tergantung pada berapa banyak program startup yang Anda miliki.
Oke, saya menambahkan satu hal lagi untuk mempermudah sinkronisasi ulang skrip dengan kondisi desktop Anda. Sekarang ada hotkey yang akan menampilkan status script percaya desktop berada di sehingga yang harus Anda lakukan adalah menyesuaikan desktop Anda dengan mouse agar sesuai dengan script dan semuanya akan disinkronkan lagi! Bagi saya dengan keyboard Swiss bekerja dengan baik memiliki '? kunci di sebelah 0 dan masuk akal dengan? di atasnya, tetapi pada keyboard lain Anda mungkin ingin mengubah ini yang dapat dilakukan dengan mudah dengan mengubah baris tepat setelah hotkey untuk 0/10 (dimulai dengan # ') menjadi apa pun yang Anda suka.
Sebenarnya, saya baru sadar .... asalkan Jumlah Desktop benar daripada membuat desktop baru akan secara otomatis menyinkronkan kembali nilai Desktop Saat Ini.
(Baris dimulai dengan; adalah komentar dan tidak mempengaruhi skrip)
Kode:
#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}
}