我有以下代码,它使用无限循环检查活动窗口是否已更改。当活动窗口更改时,此程序打印当前窗口的名称。必须有更好的方法来做到这一点。在没有无限循环的情况下,如何保持python代码始终侦听活动窗口的更改
import subprocess
import psutil
pid = subprocess.check_output(["xdotool", "getactivewindow", "getwindowpid"]).decode("utf-8").strip()
prevpid=pid
print(pid)
while(True):
pid = subprocess.check_output(["xdotool", "getactivewindow", "getwindowpid"]).decode("utf-8").strip()
if prevpid!=pid:
process=psutil.Process(int(pid))
processName=process.name()
print("Current Active Process is "+processName)
prevpid=pid
如果您在X上,而不是轮询,那么最好使用从Gtk循环运行的Wnck.Screen的
active_window_changed
信号。在一个简单的例子中:相关问题 更多 >
编程相关推荐