23

Windows 10 の複数のデスクトップで複数のプログラム C:\program1.exe、C:\program2.exe などを起動するとします。たとえば、プログラム 1 と 2 をデスクトップ 1 で並べて起動する必要があります。 3 は 2 番目のデスクトップで起動し、プログラム 4 は 3 番目のデスクトップで最小化して起動する必要があります。

これは、powershell またはバッチ スクリプトを使用して実行する必要があります。PowerShell スクリプトが十分な数のデスクトップが開いているかどうかを自動的に検出し、必要に応じてさらに多くのデスクトップを開く場合、ソリューションは完璧です。

batch-file-run-program-set positionは、複数のプログラムを並べて開いてサイズを変更するという問題を解決します。ただし、これらのソリューションは、複数の Windows 10 デスクトップには対応していません。ソリューションは、Monitorinfoviewと NirCmd (同じ Web サイト) に依存しています。ツール Monitorinfoview は、複数のデスクトップ情報を取得するのではなく、複数の画面のみを取得します。NirCmd には、プログラムを特定のデスクトップに送信するコマンドも含まれていません。

4

2 に答える 2

6

これで正しい方向に進むはずです。PowerShell、C# (PS 内部)、Windows ショートカット、基本コマンドを使用します。これを .ps1 スクリプトに保存します。

$Source = @"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WindowsInput;

namespace CSharpPS
{
    public static class PS
    {
        public static void NewVD()
        {
            InputSimulator.SimulateKeyDown(VirtualKeyCode.LWIN);
            InputSimulator.SimulateKeyDown(VirtualKeyCode.CONTROL);
            InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_D);
            InputSimulator.SimulateKeyUp(VirtualKeyCode.LWIN);
            InputSimulator.SimulateKeyUp(VirtualKeyCode.CONTROL);
        }        
    }
}
"@;

Add-Type -TypeDefinition $Source -Language CSharp -ReferencedAssemblies InputSimulator.dll

https://inputsimulator.codeplex.com/から C# InputSimulator.dll を取得できます。

タイプが追加されたら、呼び出し[CSharpPS.PS]::NewVD()て新しい仮想デスクトップを作成できます。ここから、特定のプログラムを実行できます。スリープも手動で設定する必要がある場合があります。例 :

calc Start-Sleep -Milliseconds 500

次に、新しい仮想デスクトップを開きます[CSharpPS.PS]::NewVD() Start-Sleep -Milliseconds 500 notepad

C# クラスを拡張して、仮想デスクトップ間で変更したり、必要に応じてアプリケーションを最小化したりできます。

于 2015-10-22T00:54:27.360 に答える