用户级“键盘记录器”/窗口标题记录器

时间:2013-09-10 12:02:20

标签: objective-c macos keylogger

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

感谢。

1 个答案:

答案 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];

    }];

以上代码为我工作