2011-06-12 27 views
4

我嘗試在後臺啓動應用程序,而不激活它。我只是在NSWorkspace這種方法來啓動它的背景:使用NSWorkspace啓動應用程序而不激活它或切換空間

[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:bundleID 
           options:(NSWorkspaceLaunchWithoutActivation | 
             NSWorkspaceLaunchAllowingClassicStartup) 
           additionalEventParamDescriptor:nil launchIdentifier:NULL]; 

唯一的問題是,它不激活的應用程序,但它確實開關空間到該應用程序的分配空間。任何方式來避免這種情況?

回答

2

你對所啓動的應用程序有任何控制權嗎?如果是,請覆蓋其窗口的window collection behavior。您可能希望通過命令行參數或類似方法進行控制,因此當用戶手動啓動應用程序時,空間設置仍然受到尊重。

如果您啓動的應用程序不在您的控制之下,那麼using AppleScript to temporarily override its Space assignment如何,然後將作業更改回原始值?

+0

不,我對啓動的應用程序沒有任何控制權。使用AppleScript將不起作用,因爲在午餐過程中,空間的切換隻會暫時附加。而且由於AppleScript只能在應用程序啓動時更改空間,所以它不會起作用... – gcamp 2011-06-16 21:21:19

+0

但是,非常感謝這些建議,非常感謝。 – gcamp 2011-06-16 21:21:53

相關問題