sona
2022-08-04 11:37:22 +08:00
我纠结过这个问题,当时搞出来了一键切换,但是后来放弃了,因为没啥用:我并不能立刻知道我想要去的桌面到底是第几个。
ahk 代码如下, 按 ctrl+win+数字 到指定桌面
^#1::
^#2::
^#3::
^#4::
^#5::
^#6::
^#7::
^#8::
^#9::
desk:=a_getdeskindexandtotal()
pos:=trim(a_thishotkey, "^#") - desk[1]
send % "{lctrl down}{lwin down}{" ( pos < 0 ? "left" : "right" ) " " abs(pos) "}{lctrl up}{lwin up}"
return
A_GetDeskIndexAndTotal() {
sessionIx:=0
loop {
sessionIx+=1
RegRead, cur, HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\%sessionIx%\VirtualDesktops, CurrentVirtualDesktop
if (!errorlevel) {
break
}
}
RegRead, all, HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VirtualDesktops, VirtualDesktopIDs
ix := floor(InStr(all,cur) / strlen(cur))
ix+=1
total := floor(strlen(all) / strlen(cur))
return [ix, total]
}