APIも用意されてはいる
Windows 10/11には、仮想デスクトップ用のAPIがあるが、可能なのは、
・アプリのウィンドウが存在する仮想デスクトップのID(GUID)
・現在の仮想デスクトップにウィンドウがあるかどうか(TrueかFalse)
・指定した仮想デスクトップへウィンドウを移動させる機能
の3つだけ。仮想デスクトップIDは、バージョン4のGUIDが使われており、仮想デスクトップが作られるときに乱数を用いて生成されていると考えられる。
APIは、自分のウィンドウがある仮想デスクトップIDしか得ることができないため、ウィンドウを移動させるAPIは、自分のウィンドウが存在する仮想デスクトップしか行き先を指定できない。これは、ユーザーの操作で別の仮想デスクトップにウィンドウが移動させられたときに、残りのウィンドウを移動させる、2重起動されたときに前に起動したアプリのウィンドウを現在の仮想デスクトップ移動させるぐらいしか使い道がない。
仮想デスクトップでは、アプリやウィンドウをすべての仮想デスクトップに表示させる設定をユーザーができる。テストプログラムを作って確認してみたところ、アプリに対してこの指定がされると、アプリは存在する仮想デスクトップとは異なるIDを得る。つまり、この設定をして、仮想デスクトップを切り替えていっても、アプリケーションは、固定した別のID(強いて言えばすべての仮想デスクトップに対応するID)しか得られない。
仮想デスクトップに関する情報は、レジストリに記録がある(Windows 11 Ver.22H2で確認)。レジストリキー「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VirtualDesktops」以下に仮想デスクトップの状態が記録されている。Desktopsキー以下に仮想デスクトップIDと同じGUIDでキーが作られており、ここを見れば、仮想デスクトップに付けた名前(ただし、ユーザーが指定したときのみ)や背景画像を知ることが可能だ。
仮想デスクトップは外出中のノートPCなど、マルチディスプレイが利用できない環境で複数の作業を並行して進める場合に便利なことがある。ただ、常に仮想デスクトップを利用していることを意識していないと、すでにアプリを起動しているのにもかかわらず、二重起動することがある。
またWin32アプリは、起動したまま資源を専有した状態になるため、メモリの少ないノートPCなどでは、リソース不足に陥りやすい。やけにマシンの動きが悪いとおもったら、多数のプログラムが起動されていたなんてことにもなる。せめてタスクマネージャー程度は起動して、メモリ残量程度は監視しておきたいところだ。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ











