我的最终目标是确定最近使用的网络浏览器。即,用户可能同时运行Safari和Firefox,但最近他们使用了哪些?
所以,我正在尝试列举按窗口/可见性排序的打开的应用程序。
Cocoa / Applescript是否提供了检索此信息的方法?
答案 0 :(得分:1)
您可以使用NSWorkspace的runningApplications
方法和NSRunningApplication的launchDate
属性来满足您的需求。
在控制台中查看此代码位的输出结果:
NSArray * arrayOfRunningApps = [[NSWorkspace sharedWorkspace] runningApplications];
if(arrayOfRunningApps)
{
for(NSRunningApplication * aUserApp in arrayOfRunningApps)
{
NSLog( @"%@ launch time is %@", [aUserApp localizedName], [aUserApp.launchDate description] );
}
}
至于对某些标准进行排序,这完全取决于您的实施。
一些警告:这些api是从Snow Leopard(10.6)和 它们只适用于用户可以看到的应用程序(在Dock中),而不是UNIX进程或admin / root守护程序或其他任何内容。
我还不确定Applescript,但我希望你能用这些信息到达你需要去的地方。