デスクトップの表示

「デスクトップの表示.exe – ショートカット」を作ったので貼っておこー

背景

「通り抜けループ」や「WipeOut」でデスクトップ上のアイコンにアクセスしようとしたけれど古いアプリなので正常に動作しないことが分かった。

やりたいこと

macOSのミッションコントロールのホットコーナーで「デスクトップ」を指定したときのようにデスクトップにアクセスしたい。

Windows標準機能

「Win」キー + D でデスクトップが表示できる。
→デスクトップを表示した後、アプリを起動した場合、再度ショートカットを押下しても画面の配置が復元されない。

やったこと

「通り抜けループ」や「WipeOut」の動作確認、および類似ソフトを調査した。

WinXCornersRegistryFix
https://github.com/vhanla/winxcorners/releases

Windowsでもホットコーナーの「デスクトップ」が設定可能かと思ったら元の画面の配置は復元されなかった。

作ったもの

show_desktop_ext_20240526.zip

「デスクトップの表示」のソースファイル

#SingleInstance force

; show desktop
Send "#d"
Sleep 1000

; get window handles
hwnd1 := WinGetList()

; time out 60s.
Loop 60
{
    Sleep 1000

    ; window handles monitoring
    hwnd2 := WinGetList()
    if getString(hwnd1) != getString(hwnd2)
        break
    if GetKeyState("Esc")
        break
}

; window restore
for index, value in hwnd2
{
    hwnd := hwnd2[hwnd2.Length - index + 1]
    if WinExist(hwnd)
        WinActivate(hwnd)
}

; helper function
getString(array)
{
    ret := ""
    for index, value in array
        ret .= "|" . value
    ret := LTrim(ret, "|")
    return ret
}

「デスクトップの表示」を実行するとデスクトップが表示されます。デスクトップで何かしらのアプリを起動/操作などすると元の画面の配置を復元します。

また、Escキーの長押し、60秒経過でも終了します。

インストール手順/野良EXE…

以下の手順では、ショートカットファイルを作成してアイコンを変更しています。アイコンを変更する必要がない場合は作業不要です。直接、ahkファイルを実行してください。

1.「show_desktop_ext_20240526.zip」ファイルを展開し、C:ドライブの直下に格納します。

C:\tool\desktop
├─デスクトップの表示.ahk
└─デスクトップの表示.exe

※格納場所任意。

2. 「デスクトップの表示.exe」を右クリックして「ショートカットの作成」を選択します。

3. 作成された「デスクトップの表示.exe – ショートカット」を右クリックして「プロパティ」を選択します。

4. 「ショートカット」タブで「アイコンの変更」ボタンを選択します。

5. 「参照」ボタンでエクスプローラーを指定し、アイコンを選択します。

6. 「デスクトップの表示.exe – ショートカット」をタスクバーにピン止めして実行します。

アンインストール

  1. タスクバーにピン止めしたアイコンを削除します。

2. ダウンロードしたフォルダごと削除します。

動作確認環境

  • Windows 11
  • Autohotkey V2

機能追加予定

たまに動作おかしいのでバグ修正するかもしれません。

WinGetList
https://ahkscript.github.io/ja/docs/v2/lib/WinGetList.htm

戻り値
ウィンドウは、(デスクトップ上の積み重ね方に従って)最上位から最下位へと順番に検索される。

おかしいなぁ…


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です