2013-05-18 5 views
1

NSTask를 사용하여 응용 프로그램을 시작하고 Nspipe를 사용하여 stdout 및 stderr를 가져옵니다. 응용 프로그램이 일부 명령과 종료를 수행하기 때문에 실행시 GUI를 숨기고 싶습니다. stdout/stderr가 필요하기 때문에 NSWorkspace를 사용할 수 없습니다. 아무도 이것을 달성하는 방법을 알고 있습니까?NSTask를 사용하여 호출 할 때 실행시 응용 프로그램 숨기기

+0

당신이 *의 코드를 가지고 * 응용 프로그램을 실행중인 응용 프로그램입니다 뭐하는 거지, 또는이 다른 응용 프로그램입니다 당신 (또는 사용자) 구입 및 설치 했습니까? –

+0

사용자가 설치 한 일부 다른 응용 프로그램. –

답변

0

NSRunningApplication은 프로세스 ID가 +[NSRunningApplication runningApplicationWithProcessIdentifier:] 인 경우 앱을 나타내는 객체를 전달합니다.이 객체는 -[NSTask processIdentifier]에서 가져올 수 있어야합니다.

그런 다음 hideNSRunningApplication 인스턴스로 보낼 수 있습니다.

+0

이 방법은 효과가 있지만 앱 GUI가로드되어 표시되는 경우에만 작동하므로 숨기기 전에 눈에 띄게 볼 수 있습니다. –

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 

가 ....

이 내가