为多个用户捕获Mac屏幕

时间:2016-03-15 16:47:04

标签: macos daemon screen-capture

我正在尝试使用以root身份运行的守护程序捕获Mac上的屏幕。

代码看起来像这样:

activeDisplayID = CGMainDisplayID();
CGImageRef image = CGDisplayCreateImage(activeDisplayID);

我运作良好但是当我切换到另一个用户时,我继续获得前一个用户的屏幕 - 它还活着,所以Apple似乎有更高的含义。

对于某些用例,这将是完美的,但我想捕获实际显示在显示器上的屏幕。

当新用户登录时,从CGMainDisplayID()返回的显示ID会发生变化,但在创建图像时,我会看到第一个用户的屏幕!?

我必须停止守护进程并再次启动它以从其他用户获取屏幕。似乎Mac OS缓存了第一个显示访问并继续将其提供给守护进程。

有没有办法为此行为重置此方法或其他一些解决方法?

0 个答案:

没有答案