我正在尝试创建一个简单的控制台应用来取消隐藏光标,因为我使用的程序有一个bug并且间歇性地隐藏光标(宁可写一个快速的工具,而不是等待修复bug)。我添加了AppKit框架并编写了以下简单的控制台应用程序(main.m):
#import <Foundation/Foundation.h>
#import <AppKit/NSCursor.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
[NSCursor unhide];
}
return 0;
}
但我在[NSCursor unhide]
行获得了EXC_BAD_ACCESS。知道我做错了吗?
我在Lion上使用XCode 4.3.2运行它
我也愿意用AppleScript做这件事,但我也无法在那里完成。
谢谢!
答案 0 :(得分:0)
你想做的事情是行不通的。游标对象由每个应用程序管理和拥有。您不能影响另一个应用程序的游标(没有代码注入)。
你得到EXC_BAD_ACCESS
因为你的程序实际上没有光标。一个是在通常的GUI应用启动过程中创建的,即在NSApplicationMain()
中,如果你创建了一个“Cocoa Application”,但你仍然只能影响你自己的应用程序的光标。
AppleScript似乎有更好的成功机会,因为它可以让你执行一些直接影响其他应用程序的代码,但我完全不确定它是否具有像这样管理游标的功能 - 似乎对AS来说有点太低了。