我想编写一些代码,可以自动对活动窗口执行操作。 例如,如果我想在插入新DOK时弹出窗口,则按下忽略按钮。
我想到了一个代码,一旦特定(已知)窗口弹出,它会按下几个TAB,然后按Enter键。
我可以实现这样的代码吗?在C#中是可取的。
答案 0 :(得分:0)
我想到了你问题的几个答案,因为它并不清楚你在问什么。其中一个主题可能是研究领域:
如果要在正在运行的应用程序之外的应用程序中按活动窗口的键,您可能会阅读有关提升权限,进程间通信以及使用Windows函数调用访问键盘的信息。除了使Windows向其发送各种消息之外,您通常无法对其他应用程序执行任何操作。想:如果您的应用程序不是活动窗口,您将如何指示何时按键?
如果活动窗口是您应用程序中的窗口,那么从长远来看,通过找到适合C#面向对象模型的解决方案,您将会更好。如果您希望某些窗口有时运行某些代码(当一个窗口处于活动状态时),您可以通过将代码放入一个公共超类并让窗口类继承它来共享代码。以这种方式看待它将具有指导意义,但您可能必须找到一个稍微不同的解决方案,因为听起来您的窗口应该继承Window的Window类(您只能在C#中拥有一个父类)。你可以查找"类继承"也许"接口。"
对于共享代码而言,面向对象的另一个解决方案是将其置于静态函数中,并根据需要在活动窗口的代码中调用此函数。但理想情况下,活动窗口类中的代码应该是操作窗口。您可以将它放入一个函数中,然后从具有" this"的应用程序中的任何位置调用该函数。活动窗口的参考。