我想让我的应用程序知道哪些应用程序当前正在运行,并显示在一个表中。在表格中,它将显示所有正在运行的应用程序名称,每个应用程序旁边都有一个按钮。在点击按钮时,我们必须打开特定应用程序的窗口,即使它是最小化或关闭的。我已经通过以下代码获得了正在运行的应用程序列表,但没有获得应用程序的窗口,因为NsRunningApplication对象没有任何窗口或视图。有谁能帮帮我吗?
NSMutableArray* mOpendAppsArray = [[NSMutableArray alloc] init];
NSMutableArray* mOpenedAppsNamesArray = [[NSMutableArray alloc] init];
NSUInteger count = [[[NSWorkspace sharedWorkspace] runningApplications] count];
for (NSUInteger i = 0; i < count; i++) {
NSRunningApplication *app = [[[NSWorkspace sharedWorkspace] runningApplications] objectAtIndex: i];
if(app.activationPolicy == NSApplicationActivationPolicyRegular) {
[mOpenedAppsNamesArray addObject:app.localizedName];
[mOpendAppsArray addObject:app];
}
}发布于 2016-02-28 11:06:48
如果除了本地化名称之外还获得了应用程序的bundleID (我假设这就是您在表中显示的名称),则可以使用以下内容激活应用程序:
NSArray* apps = [NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.bla.blah"];
[(NSRunningApplication*)[apps objectAtIndex:0] activateWithOptions: NSApplicationActivateAllWindows];https://stackoverflow.com/questions/33912109
复制相似问题