当我在Mac OS X上使用subprocess.Popen启动应用程序时,该应用程序在后台启动,您必须单击扩展坞中的图标将其显示在前面.如何使它从前台开始?
我尝试使用“打开”,但是会创建不需要的终端窗口.
注意:该应用程序是从使用wxPython编写的GUI应用程序启动的.
解决方法:
我认为您将需要使用本机API和一些python绑定.
您需要的是NSRunningApplication和方法activateWithOptions.下面是一个示例如何使用它:How to launch application and bring it to front using Cocoa api?
查看PyObjC的绑定.
<code>from Foundation import * from Cocoa import * import objc pid = 1456 x = NSRunningApplication.runningApplicationWithProcessIdentifier_(pid) x.activateWithOptions_(NSApplicationActivateAllWindows) </code>
更新:
以下行在激活应用程序时更具攻击性.
<code>x.activateWithOptions_(NSApplicationActivateIgnoringOtherApps) </code>
另外,您可能需要先.unhide()应用.
<code>x.hide() x.unhide() </code>
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!