嘿,我一直在谷歌搜索,我似乎无法找到任何关于c#中不同窗口的目标,我正在使用Visual Studio 2010。
我不知道该如何做到这一点,但我很确定可以做到,有谁知道我可以在哪里阅读它?
我需要能够定位不同的程序(例如notpad),并模拟按键。
感谢。
答案 0 :(得分:2)
如果你的意思是与不同的窗口交互(可能是不同进程的一部分),通常会得到一个窗口句柄(可以通过多种方式完成),然后你可以发送消息并从这些消息中获取数据到那些窗口处理
例如,请参阅您将从C#app调用的SendMessage。
如果您想获得有关这些窗口中发生某些事件的更新,那么您可以使用Windows Hook。
答案 1 :(得分:0)
我将假设您使用WinForms(同样适用于WPF,但代码略有不同)。
在你的项目中你有
Form1
Form2
Form3
在Form1类的顶部,您可以定义以下代码:
Form2 frm2;
Form3 frm3;
假设Form1是您的启动对象,您可以为“Show Form2”和“Show Form3”添加按钮
在各自的代码隐藏中,您可以添加类似
的代码frm2 = new Form2();
frm2.Show();
frm3 = new Form3();
frm3.Show();
相同的概念适用于WPF。如果您尝试使用应用程序外部的窗口进行操作,可能需要查看SendMessage Windows API。