C#でデスクトップを切り替える方法


以下に、シンプルで簡単な方法といくつかのコード例を示します。

方法1: VirtualDesktopクラスを使用する方法

Windows 10以降では、VirtualDesktopクラスを使用してデスクトップを切り替えることができます。まず、WindowsDesktopパッケージをプロジェクトに追加します。

using WindowsDesktop;
// デスクトップを切り替えるメソッド
public static void SwitchDesktop(int desktopNumber)
{
    VirtualDesktop currentDesktop = VirtualDesktop.Current;
    VirtualDesktop targetDesktop = VirtualDesktop.GetDesktops().ElementAtOrDefault(desktopNumber - 1);
    if (targetDesktop != null && targetDesktop != currentDesktop)
    {
        VirtualDesktopHelper.SwitchDesktop(targetDesktop);
    }
}

このコードでは、SwitchDesktopメソッドを使用して指定された番号のデスクトップに切り替えます。デスクトップ番号は1から始まるため、切り替えたいデスクトップの番号を引数として指定します。

方法2: User32.dllを使用する方法

もう1つの方法は、User32.dllを使用してデスクトップを切り替える方法です。以下のコードを使用します。

using System;
using System.Runtime.InteropServices;
class Program
{
    // User32.dllの関数をインポート
    [DllImport("user32.dll")]
    public static extern bool SwitchDesktop(IntPtr hDesktop);
    static void Main(string[] args)
    {
        IntPtr desktopHandle = IntPtr.Zero; // 切り替えるデスクトップのハンドルを指定
        SwitchDesktop(desktopHandle);
    }
}

このコードでは、SwitchDesktop関数を使用してデスクトップを切り替えます。desktopHandle変数には、切り替えたいデスクトップのハンドルを指定します。

これらの方法を使用すると、C#でデスクトップを切り替えることができます。自分のニーズに合わせて適切な方法を選択してください。