ミッションコントロール、スペース、公開、ダッシュボードなどのアプリケーションに外部プロセスを無効にして再度有効にすることが可能かどうかは疑問でした、など...ユーザーが自分のアプリケーションを使用できるようにしながら、アプリケーション内で?ミッションコントロール、スペース、ダッシュボード、その他の外部プロセスを無効にする
これを達成する方法は、NSTask
を使用して、対応するターミナルコマンドでプロセスを無効にすることでした。例:
- (NSString *)runCommandWithBase:(NSString *)base arguments:(NSArray *)arguments {
//Create the task
NSTask *task = [[NSTask alloc] init];
//Setup the task
[task setLaunchPath:base];
[task setArguments:arguments];
[task setStandardInput:[NSPipe pipe]];
[task setStandardOutput:[NSPipe pipe]];
//Set file handle
NSFileHandle *file = [[NSPipe pipe] fileHandleForReading];
//Run the command
[task launch];
//Return
NSData *returnData = [file readDataToEndOfFile];
return [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];}
と:
NSString *exposeEnable = [self runCommandWithBase:@"/usr/bin/defaults"
arguments:[NSArray arrayWithObjects:@"write", @"com.apple.dock", @"mcx-expose-disabled", @"-boolean", @"NO", nil]];
NSLog(@"%@", exposeEnable);
NSString *exposeDisable = [self runCommandWithBase:@"/usr/bin/defaults"
arguments:[NSArray arrayWithObjects:@"write", @"com.apple.dock", @"mcx-expose-disabled", @"-boolean", @"YES", nil]];
NSLog(@"%@", exposeDisable);
ミッション制御は、(公開)必ず再度有効ではないだろうと私は、これを試してみましたが、それは完全に不安定であることが判明プロパティ
を無効にします - 有効なプロパティを制御するファイルが有効になっているとしても(〜/ Library/Preferences/com.apple.dock.plist; mcx-expose-disabledのプロパティ)。別の簡単な方法がありますか、またはアプリケーションのデザインを変更して、これらのことを止める必要はありませんか?現在のメソッドをいくつか変更して使用し続けることができますか(デフォルトでは異なるプロパティをシャットダウンするなど)?事前に
おかげで、
ベン
ありがとうございました!これは本当に便利で、私が探していたものです! – GravityScore