OS X的新手,但是我需要编写一个应用程序来记录活动,就像键盘记录器一样 - 只是我不想要记录的键,只知道按下了键或鼠标键,以及是什么获得该事件的窗口的窗口标题是。窗口活动记录器与键盘记录器。我宁愿不去达到内核扩展的低级别,因为我真的希望将它保留在用户空间中(但我会,如果必须的话)。我在Windows(使用Windows钩子)和Linux(使用XRecord扩展到X服务器的X11)中做了同样的事情,但我对Quartz或内核扩展知之甚少。在X11版本中,监视器从Xsession配置加载 - 即用户登录时启动并仅在用户登录时运行...理想情况下我想模仿它。有更多OS X功能经验的人能给我一些指导吗?
感谢。
答案 0 :(得分:1)
[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];
}];
以上代码为我工作