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などでは、リソース不足に陥りやすい。やけにマシンの動きが悪いとおもったら、多数のプログラムが起動されていたなんてことにもなる。せめてタスクマネージャー程度は起動して、メモリ残量程度は監視しておきたいところだ。
この連載の記事
-
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第429回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す - この連載の一覧へ