Я очень плохо знаком с программированием какао, и я не могу найти способ сделать следующее:
Из того, что я нашел в Углеродном API, он похож на вызовы, которые я должен использовать, launchApplication () и setFrontProcess ().
Но как сделать это в Какао? Т.е. запустите его, получите PID, установите тот PID, чтобы быть передним процессом. Я пытался погуглить для примеров и ничего не найти...
Если бы какой-либо из Вас может обеспечить минималистический образец, который был бы потрясающим:)
Заранее спасибо.
Для запуска приложения :
[[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Safari.app"];
Для активации приложения :
NSRunningApplication* app = [NSRunningApplication
runningApplicationWithProcessIdentifier: PID];
[app activateWithOptions: NSApplicationActivateAllWindows];
// or
NSArray* apps = [NSRunningApplication
runningApplicationsWithBundleIdentifier:@"com.bla.blah"];
[(NSRunningApplication*)[apps objectAtIndex:0]
activateWithOptions: NSApplicationActivateAllWindows];
Чтобы запустить приложение, используйте класс NSWorkspace
: NSWorkspace Reference
В частности, функцию launchApplication:
.
Я не знаю ответа на вопрос об активации. Вы можете активировать собственное приложение с помощью -[NSApplication activateIgnoringOtherApps:]
, но я не знаю, как это сделать для других приложений.