我希望能够使用Python获取打开窗口的列表、图标和进程相关信息。
我曾试用xprop和wmctrl,但无法实现目标。通过wmctrl -l
可以获得已打开窗口的列表,但不知如何获取任何一个控件的图标/图标路径。
请帮忙解决,谢谢 :)
import pygtk
pygtk.require('2.0')
import gtk
import wnck
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration(False)
for w in screen.get_windows():
name = w.get_name()
icon = w.get_icon()
...
在这里,name是一个字符串,icon是一个GdkPixbuf。
您可以阅读C语言版本的libwnck API文档,网址为http://developer.gnome.org/libwnck/stable/WnckWindow.html。但是,在Python中,您只需要删除前缀wncK_window。如果文档中写的是wnck_window_get_name(),那么在Python中就是my_window.get_name()。
libwnk专门针对XWindow,因此无法在MS Windows上使用。在这种情况下,您可以使用其他模块来帮助实现该功能。请参考Get list of open windows in Python的答案。