首页 > 解决方案 > 在多个窗口之间切换

问题描述

我知道有很多类似的问题,但到目前为止,没有一个答案对我的问题有帮助。我有一个包含多个显示数据的窗口的过程,它们都旨在显示在电视上(类似于仪表板)。我正在尝试在所有这些之间切换。我显示窗口一分钟,然后切换到下一个。我使用的代码适用于 3 个窗口 Max,但是当我尝试添加更多窗口时,它不会切换所有窗口,而只能切换前 3 个窗口。

我尝试切换的所有窗口都在同一进程下。进程“dashboard10”包含所有窗口。它所做的代码就是按 alt tab 然后休眠。如果有人知道实现此目的的不同方法,我将不胜感激。谢谢

class Program
{
    [DllImport("user32.dll")]
    public static extern int SetForegroundWindow(IntPtr hWnd);

    [STAThread]
    static void Main(string[] args)
    {
        while (true)
        {
            Process[] processes = Process.GetProcessesByName("dashboard10");

            foreach (Process proc in processes)
            {
                try
                {
                    SetForegroundWindow(proc.MainWindowHandle);
                    SendKeys.SendWait("^" + "{TAB 2}");
                }
                catch (Exception ex) { Console.WriteLine(ex.Message); }
            }

            Thread.Sleep(60000);
        }
    }
}

标签: c#console-application

解决方案


推荐阅读