タスクスケジューラで、仮想デスクトップで起動させる方法ある?

タスクスケジューラを使用してプログラムを仮想デスクトップで起動することは、標準的なタスクスケジューラの機能として直接サポートされていません。しかし、いくつかのアプローチが考えられます。

  1. Desktops ツールの使用:

    • Sysinternals ツールスイートには、「Desktops」というツールが含まれています。これを使用すると、複数の仮想デスクトップを作成し、それぞれでプログラムを実行できます。これにより、特定の仮想デスクトップでのみタスクが実行されるように設定できます。
    • Desktops ツール
  2. タスクスケジューラとPowerShellの組み合わせ:

    • PowerShell スクリプトを作成し、それをタスクスケジューラで実行することができます。スクリプト内で New-Desktop などを使用して新しい仮想デスクトップを作成し、そのデスクトップ上でプログラムを起動することが可能です。
  3. VBScript または PowerShell を使用:

    • VBScript や PowerShell で仮想デスクトップの操作を行うスクリプトを作成し、それをタスクスケジューラで実行します。例えば、PowerShell で New-Object -ComObject Shell.Application を使用して仮想デスクトップを作成できます。

以下は PowerShell を使用したシンプルな例です。このスクリプトを保存してタスクスケジューラから呼び出すことができます。

powershell
# PowerShell スクリプト例: StartProgramOnDesktop.ps1 $desktopName = "MyVirtualDesktop" $programPath = "C:PathToYourProgram.exe" # Create a new virtual desktop $shell = New-Object -ComObject Shell.Application $desktop = $shell.Namespace(0x01).ParseName($desktopName) $desktop.InvokeVerb("TaskbarPin") # Switch to the virtual desktop $desktop.Activate() # Start the program Start-Process $programPath

このスクリプトは、指定した名前の仮想デスクトップを作成し、そのデスクトップ上で指定したプログラムを実行します。実際の動作に合わせて変更してください。

未分類

Posted by ぼっち