如何使用Python在Mac OS X上的前台启动应用程序?

当我在Mac OS X上使用subprocess.Popen启动应用程序时,该应用程序在后台启动,您必须单击扩展坞中的图标将其显示在前面.如何使它从前台开始?

我尝试使用“打开”,但是会创建不需要的终端窗口.

注意:该应用程序是从使用wxPython编写的GUI应用程序启动的.

解决方法:

我认为您将需要使用本机API和一些python绑定.

您需要的是NSRunningApplication和方法activateWithOptions.下面是一个示例如何使用它:How to launch application and bring it to front using Cocoa api?

查看PyObjC的绑定.

from Foundation import *
from Cocoa import *
import objc

pid = 1456 
x = NSRunningApplication.runningApplicationWithProcessIdentifier_(pid)
x.activateWithOptions_(NSApplicationActivateAllWindows)

更新:

以下行在激活应用程序时更具攻击性.

x.activateWithOptions_(NSApplicationActivateIgnoringOtherApps)

另外,您可能需要先.unhide()应用.

x.hide()     
x.unhide()
上一篇:如何知道当前屏幕是Android中的全屏模式


下一篇:java-JTextField:更改前景色并保存内容