この COM オブジェクトをプロジェクトに追加できます。
Microsoft Shell コントロールとオートメーション
そして、次のように呼び出します。
Shell32.ShellClass shell = new Shell32.ShellClass();
shell.MinimizeAll();
これにより、すべてのウィンドウが最小化され、デスクトップがフォーカスされます。それ以外の場合、ウィンドウがフルスクリーンでない場合は、次を使用してマウスクリックをシミュレートできます。
//This is a replacement for Cursor.Position in WinForms
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool SetCursorPos(int x, int y);
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
public const int MOUSEEVENTF_LEFTDOWN = 0x02;
public const int MOUSEEVENTF_LEFTUP = 0x04;
//This simulates a left mouse click
public static void LeftMouseClick(int xpos, int ypos)
{
SetCursorPos(xpos, ypos);
mouse_event(MOUSEEVENTF_LEFTDOWN, xpos, ypos, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, xpos, ypos, 0, 0);
}
ウィンドウの起動位置と高さ/幅を調べて座標を計算し、利用可能なスペース (実際にはデスクトップになります) を選択できます。