我正在尝试创建一个简单的控制台应用程序来取消隐藏光标,因为我使用的程序有一个错误并间歇性地隐藏了光标(宁愿编写一个快速实用程序而不是等待错误修复)。 我添加了 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。 知道我做错了什么吗?
我正在使用XCode 4.3.2在Lion上运行它
我也愿意用AppleScript来做这件事,但我也无法在那里完成它。
谢谢!
你尝试做的事情是行不通的。游标对象由每个应用程序管理和拥有。您不能影响其他应用程序的光标(无代码注入)。
你会得到一个EXC_BAD_ACCESS
,因为你这里的程序实际上没有光标。一个将在通常的GUI应用程序启动过程中创建,即在NSApplicationMain()
中,如果您创建了一个"Cocoa应用程序",但您仍然只能影响您自己的应用程序的光标。
AppleScript 似乎有更好的成功机会,因为它可以让您执行一些直接影响其他应用程序的代码,但我完全不确定它是否具有像这样管理光标的功能——对于 AS 来说似乎有点太低级了。