是否可以控制外部应用程序的窗口

时间:2010-04-23 13:56:22

标签: linux

我想控制窗口

例如,我想强制外部应用程序启动最小化

我的意思是当我输入此命令时

myapp Firefox

Firefox启动但最小化

firefox并不重要我的意思是我想用任何gui应用程序来做它

如果是的话

任何人都可以指路吗?

3 个答案:

答案 0 :(得分:0)

我假设您希望通过Python执行此操作,因为这是标记为的问题。标准的Windows API允许您在启动流程时提供启动信息,您可以在其中指定是否希望应用程序最小化。

我通过Python找到这种方法的唯一方法是使用子进程模块(http://docs.python.org/library/subprocess.html),然后在启动进程时提供startupInfo参数。文档对于该参数的期望非常模糊,但我能够找到一个我在下面复制过的示例(http://www.daniweb.com/forums/thread262417.html#)。

import subprocess

info = subprocess.STARTUPINFO()
info.dwFlags = 1
info.wShowWindow = 0
subprocess.Popen("notepad.exe", startupinfo=info)

这似乎是特定于Windows的。

HTH

答案 1 :(得分:0)

我自己没有使用它,但是libwnck有命令最小化窗口,或者如果你根本不想看到它,就把它移动到另一个工作区。它可能只是Linux,但您已经拥有Windows解决方案,因此您可以在两者之间切换。

Libwnck信息:library.gnome.org

它还有Python绑定。 Python-Wnck信息:berlios.de

答案 2 :(得分:0)

在Unix系统中,窗口由Window管理器控制。因此,您有以下选项

  1. 使用可以从外部控制的窗口管理器(例如,通过套接字)

  2. 编写自己的窗口管理器

  3. 如果您自己编写应用程序,请使用NETWM提示

  4. 然而,我认为gnome窗口管理器(metacity,sawfish)通常是有限的