objective-c – 获取最近启动的应用程序的PID的最简单方法

objective-c – 获取最近启动的应用程序的PID的最简单方法,第1张

概述我想用指定的应用程序启动一个文件,我希望启动的程序立即成为最前面的窗口. 我知道我可以这样做: [[NSWorkspace sharedWorkspace] openFile:fileName withApplication:appName]; 然后,如果我可以获得启动的应用程序的PID,那么我可以这样做以使该应用程序最前面: NSRunningApplication* app = [NSRunn 我想用指定的应用程序启动一个文件,我希望启动的程序立即成为最前面的窗口.

我知道我可以这样做:

[[NSWorkspace shareDWorkspace] openfile:filename withApplication:appname];

然后,如果我可以获得启动的应用程序的PID,那么我可以这样做以使该应用程序最前面:

NSRunningApplication* app = [NSRunningApplication                             runningApplicationWithProcessIDentifIEr: PID];[app activateWithOptions: NSApplicationActivateallwindows];

我的问题是:启动后立即获得此应用程序的PID的最简单,最快捷,最可靠的方法是什么,因此我可以确保此应用程序是最前沿的?

这并不像第一眼看上去那么简单.例如,我需要一个进程名称,以便使用Carbon调用获取PID,或者通过可通过NSRunningApplication访问的应用程序字典.但是,在一般情况下,我并不总是知道进程名称是什么,在某些情况下,进程名称是一个空字符串.

此外,我可能已经运行了同一个应用程序的其他实例,并且我希望始终获得刚刚启动的应用程序的特定实例的PID.

任何人都可以建议一种确定的,100%可靠的方式来获得当前启动的应用程序的PID吗?

或者,有没有办法用指定的应用程序启动给定文件,以便应用程序始终作为最前面的应用程序打开?

解决方法 您是否尝试过使用其他版本的openfile来停用您的应用程序,让新应用程序成为焦点?

[[NSWorkspace shareDWorkspace] openfile:filename withApplication:appname andDeactivate:YES];
总结

以上是内存溢出为你收集整理的objective-c – 获取最近启动的应用程序的PID的最简单方法全部内容,希望文章能够帮你解决objective-c – 获取最近启动的应用程序的PID的最简单方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1072291.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存