c# - 在多个窗口之间切换
问题描述
我知道有很多类似的问题,但到目前为止,没有一个答案对我的问题有帮助。我有一个包含多个显示数据的窗口的过程,它们都旨在显示在电视上(类似于仪表板)。我正在尝试在所有这些之间切换。我显示窗口一分钟,然后切换到下一个。我使用的代码适用于 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);
}
}
}
解决方案
推荐阅读
- reactjs - 使用反应组件生命周期方法了解初始状态设置
- ruby-on-rails - 活动资源轨未获取数据
- javascript - ANTD rowSelection 不会检入 UI
- kubernetes - 如何在 Helm 图表模板中获取服务的 NodePort 和外部 IP?
- python - 从另一个数据帧更新熊猫数据帧中的特定值
- python - 如何根据匹配另一个数据集中的唯一值从数据集中删除行?
- mongodb - 是否可以在只读模式下通过 mongo shell 连接?
- laravel - Jenssegers\Mongodb hasMany to hasMany 关系
- python - 根据 Pandas 中的特定列连接不同长度的列
- amazon-web-services - AWS ECS 任务容器