我试图在登录屏幕上使用OSX通过命令行枚举屏幕(使用ssh).
但两者[NSScreen screens]并CGGetActiveDisplays都返回0屏幕.还有另一种屏幕枚举方法吗?
登录前代理可以使用 CGGetOnlineDisplayList 枚举显示。
我使用了此处的示例 Apple 代码。
修改为链接CoreGraphics,在applicationDidFinishLaunching方法中添加如下代码:
CGDirectDisplayID displays[10];
uint32_t numDisplays = 0;
CGGetOnlineDisplayList(10, displays, &numDisplays);
for(uint32_t i = 0; i < numDisplays; i++)
{
[[LogManager sharedManager] logWithFormat:@">>> Found an online display!"];
}
if(numDisplays == 0)
[[LogManager sharedManager] logWithFormat:@"<<<<< No displays!"];
Run Code Online (Sandbox Code Playgroud)
按照示例中有关如何查看日志的文档,登录屏幕上会打印以下内容:
Jul 12 10:03:09 veeboxs-MacBook-Pro PreLoginAgentCocoa[3129] <Info>: Did finish launching begin
Jul 12 10:03:09 veeboxs-MacBook-Pro PreLoginAgentCocoa[3129] <Info>: Showing window with extreme prejudice
Jul 12 10:03:09 veeboxs-MacBook-Pro PreLoginAgentCocoa[3129] <Info>: Did finish launching end
Jul 12 10:03:09 veeboxs-MacBook-Pro PreLoginAgentCocoa[3129] <Info>: >>> Found an online display!
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |