我们有一个用 PyQt 编写的桌面应用程序(我们称之为我们的),它向现有的专有 MS Windows 应用程序(名为 THEIR)添加补充功能。他们全屏运行。我们想切换到我们的,然后在外部(硬件)事件发生时以编程方式返回到他们的。就像我们要模拟我们的组合键 ALT-TAB 一样。
我们怎样才能从我们的切换到他们的?我们如何在事件发生时从 THEIR 切换到 OUR - 例如当计时器超时时?
最佳答案
您对他们的程序和硬件事件有多少控制权?通常,在另一个应用程序中提升窗口的唯一方法是通过窗口管理器获取它们的句柄并提升它们。该方法将取决于您使用的操作系统和窗口管理器。在 Windows 上,您可以使用 pywin32
应用程序接口(interface)。
一种方法是创建一个小型守护进程,充当套接字服务器或 xmlrpc 服务器(python 有实现两者的简单方法)。当我们或他们想要提升另一个窗口时,他们会向守护进程发送一条消息,守护进程会提升适当的窗口。守护进程还可以监视操作系统的事件并自行启动窗口。
关于python - 如何切换到外部应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36982150/