こんにちは、私はautohotkey(そして一般的なプログラミング)を新しくしました。私は便利に特定のデスクトップに切り替えるためのスクリプトを書こうと思っていました。たとえば、私のスクリプトでは、Capslock + 3がデスクトップ3に切り替わります。autohotkeyは現在どの仮想デスクトップを検出していますか?
ご覧になるか、試してみると非常に堅牢ではありません。スクリプトは実際のものとは別のデスクトップ番号しか知らない。たとえば、デスクトップ4上でスクリプトを実行する場合、スクリプトはデスクトップが1に設定された状態で開始され、Caps + 4を押してからCaps + 1を押して正しい方向に設定する必要があります。別のデスクトップに点滅するウィンドウがあり、それをクリックすると、そのデスクトップに切り替わりますが、スクリプトはあなたが前のデスクトップにいると考えています。
私はautohotkeyがあなたのデスクトップを検出する方法を探しましたが、見つかりませんでした。
誰でも改善方法を教えてください。ありがとう! :D
SetCapsLockState, AlwaysOff
desktop = 1
Switch(d)
{
global
;Determine how far away the desired desktop is from current one
press := (d-desktop)
desktop = %d%
;Determine which direction to switch desktops and stop script if already on current desktop
If press < 0
direction = Left
else if press > 0
direction = Right
else
return
press := Abs(press)
Loop, %press%
{
SendInput, ^#{%direction%}
Sleep, 75
}
return
}
CapsLock & 1::
Switch(1)
return
CapsLock & 2::
Switch(2)
return
CapsLock & 3::
Switch(3)
return
CapsLock & 4::
Switch(4)
return
;In case user switches desktop with traditional shortcuts
^#Left::
SendInput ^#{Left}
If desktop > 1
desktop--
return
^#Right::
SendInput ^#{Right}
If desktop < 4
desktop++
return
さらに問題を明確にする必要があります。堅牢ではないと分類している問題は何ですか?あなたが心配していることを修正しようとしたあなたの試みは何ですか?また、あなたの質問を改善するためにこのリンクをチェックアウトすることもできます。https://stackoverflow.com/help/how-to-ask –
@JosephKタイトルを変更し、説明を追加しました。ありがとう! – aappletart
[仮想デスクトップに切り替える](https://autohotkey.com/boards/viewtopic.php?p=91414#p91414)または[Virtual Desktop Enhancer](https://github.com/sdias/win-10-仮想デスクトップエンハンサー)。 – user3419297