目标不同窗口c#

时间:2010-08-11 17:30:45

标签: c# window target

嘿,我一直在谷歌搜索,我似乎无法找到任何关于c#中不同窗口的目标,我正在使用Visual Studio 2010。

我不知道该如何做到这一点,但我很确定可以做到,有谁知道我可以在哪里阅读它?

我需要能够定位不同的程序(例如notpad),并模拟按键。

感谢。

2 个答案:

答案 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。