OS X的新手,但我需要编写一个像键盘记录器一样模糊地记录活动的应用程序 - 只是我不想要记录的键,只知道按下了键或鼠标按钮以及获取事件的窗口的窗口标题是什么。窗动记录器与键盘记录器。我宁愿不要像内核扩展那样低级别,因为我真的很想将其保留在用户空间中(但如果必须的话,我会的)。我在Windows(使用Windows钩子)和Linux(X11使用X服务器的XRecord扩展)中做了同样的事情,但我对Quartz或内核扩展知之甚少或一无所知。在 X11 版本中,监视器从 Xsession 配置加载 - 也就是说,它在用户登录时启动,仅在用户登录时运行......理想情况下,我想模仿这一点。对 OS X 功能有更多经验的人可以给我一些指导吗?
谢谢。
[NSEvent addGlobalMonitorForEventsMatchingMask:(NSKeyDownMask) handler:^(NSEvent *event){
NSLog(@"22 %@", event.characters);
NSString * str = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil];
NSString * strnew = [NSString stringWithFormat:@"%@%@",str,event.characters];
[strnew writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
}];
上面的代码对我有用