1

私が使用するプログラムにバグがあり、カーソルを断続的に非表示にするため、カーソルを非表示にする単純なコンソールアプリを作成しようとしています (バグが修正されるのを待つよりも、簡単なユーティリティを作成します)。AppKit フレームワークを追加し、次の単純なコンソール アプリ (main.m) を作成しました。

#import <Foundation/Foundation.h>
#import <AppKit/NSCursor.h>

int main(int argc, const char * argv[])
{
    @autoreleasepool {
        [NSCursor unhide];
    }
    return 0;
}

しかし、行で EXC_BAD_ACCESS を取得し[NSCursor unhide]ます。私が間違っていることは何か分かりますか?

XCode 4.3.2を使用してLionでこれを実行しています

私は AppleScript でこれを行うことにもオープンですが、そこでも達成できませんでした。

ありがとう!

4

1 に答える 1

0

あなたがやろうとしていることはうまくいきません。カーソル オブジェクトは、各アプリケーションによって管理および所有されます。別のアプリケーションのカーソルに影響を与えることはできません (コード インジェクションなし)。

EXC_BAD_ACCESSここでのプログラムには実際にはカーソルがないため、 が表示されます。「Cocoa アプリケーション」を作成した場合は、通常の GUI アプリの起動プロセス中にNSApplicationMain()作成されますが、独自のアプリケーションのカーソルにのみ影響を与えることができます。

AppleScript は、他のアプリに直接影響を与えるコードを実行できるため、成功する可能性が高いようですが、このようにカーソルを管理する機能があるかどうかはまったくわかりません-少し多すぎるようですAS の低レベル。

于 2012-06-22T19:03:33.980 に答える