是否可以通过c#对活动窗口执行操作?

是否可以通过c#对活动窗口执行操作?,c#,windows,automation,C#,Windows,Automation,我想写一些代码,可以在活动窗口上自动执行操作。 例如,如果我想在插入新DOK时弹出的窗口按下忽略按钮 我想到了一个代码,一旦一个特定的(已知的)窗口弹出,它会按几个选项卡,然后按Enter键 我可以实现这样的代码吗?在C#中更可取。我想了几个关于你问题的答案,因为不清楚你在问什么。其中一个主题可能是一个研究领域: 如果要在运行的应用程序以外的应用程序中按下活动窗口的键,可以阅读提升权限、进程间通信以及通过Windows函数调用访问键盘的相关信息。除了让Windows向其他应用程序发送各种消息外,

我想写一些代码,可以在活动窗口上自动执行操作。 例如,如果我想在插入新DOK时弹出的窗口按下忽略按钮

我想到了一个代码,一旦一个特定的(已知的)窗口弹出,它会按几个选项卡,然后按Enter键


我可以实现这样的代码吗?在C#中更可取。

我想了几个关于你问题的答案,因为不清楚你在问什么。其中一个主题可能是一个研究领域:

如果要在运行的应用程序以外的应用程序中按下活动窗口的键,可以阅读提升权限、进程间通信以及通过Windows函数调用访问键盘的相关信息。除了让Windows向其他应用程序发送各种消息外,您通常无法对其他应用程序执行任何操作。思考:如果您的应用程序不是活动窗口,您将如何指示按键时间

如果活动窗口是应用程序中的一个窗口,那么从长远来看,找到一个适合C#的面向对象模型的解决方案会更好。如果您希望某些代码在某些窗口(当某个窗口处于活动状态时)运行,您可以通过将其放入公共超类并让您的窗口类继承来共享代码。用这种方式看它会很有启发性,但您可能必须找到一种不同的解决方案,因为听起来您的窗口应该继承窗口的窗口类(在C#中只能有一个父类)。您可以查找“类继承”和“接口”


对于共享代码来说,另一个不是面向对象的解决方案是将其放入静态函数中,并根据需要在活动窗口的代码中调用此函数。但理想情况下,应该由活动窗口类中的代码来操作窗口。您可以将其放入函数中,然后从应用程序中具有活动窗口“this”引用的任何位置调用该函数。

Google“c#ui automation”。您好,感谢您的回答-事实上,我想在我正在运行的应用程序之外的应用程序中按下活动窗口的键。所以我知道这很复杂?不管怎样,我还是要去做?嗨,很抱歉耽误了回复。嗯,它是一台电脑;这是可以做到的,尽管时间投资可能会让人望而却步。但我真的不知道该怎么做,这就是为什么我只限于提出研究课题的原因。