我们有一个用PyQt编写的桌面应用程序(我们称之为OUR),它为现有的专有MS Windows应用程序(名为THEIR)添加了补充功能。他们全屏运行。我们想切换到OUR,然后在发生外部(硬件)事件时以编程方式返回到THEIR。如果我们要模仿来自OUR的ALT-TAB组合键,那就好了。
我们如何切换到我们的THEIR?如何在事件中从THEIR切换到OUR - 例如当计时器超时?
答案 0 :(得分:0)
您对他们的计划和硬件事件有多少控制权?通常,在另一个应用程序中引发窗口的唯一方法是通过窗口管理器获取它们并提升它们。该方法取决于您正在使用的操作系统和窗口管理器。在Windows上,您可以使用pywin32
api。
一种方法是创建一个小守护进程,它充当套接字服务器或xmlrpc服务器(python有简单的方法来实现它们)。当OUR或者他们想要提升另一个窗口时,他们会向守护进程发送一条消息,这会引发相应的窗口。守护进程还可以监视操作系统的事件,并自行提升窗口。