使用NSTask调用时,在启动时隐藏应用程序

时间:2013-05-18 20:32:35

标签: objective-c macos nstask

我正在使用NSTask启动一个应用程序并使用NSPipe来获取它的stdout和stderr。我想在启动时隐藏它(GUI),因为应用程序只执行一些命令和退出。我不能使用NSWorkspace,因为我需要stdout / stderr。有谁知道实现这个目标的方法?

2 个答案:

答案 0 :(得分:0)

如果您的进程ID为+[NSRunningApplication runningApplicationWithProcessIdentifier:],则

NSRunningApplication会向您提供代表该应用的对象,您应该可以从-[NSTask processIdentifier]获取该对象。

然后,您可以将hide发送到NSRunningApplication个实例。

答案 1 :(得分:0)

/*
 *  TransformProcessType()
 *  
 *  Summary:
 *    Changes the 'type' of the process specified in the psn parameter.
 *     The type is specified in the transformState parameter.
 *  
 *  Discussion:
 *    Given a psn for an application, this call transforms that
 *    application into the given type.  Foreground applications have a
 *    menu bar and appear in the Dock.  Background applications do not
 *    appear in the Dock, do not have a menu bar ( and should not have

...

这就是我正在做的事情