Ich versuche, die Bildschirme über die Befehlszeile auf OSX aufzuzählen, während ich mich auf dem Login-Bildschirm befinde (mit ssh).
Aber beide [NSScreen screens]
und CGGetActiveDisplays
geben beide 0 Bildschirme zurück. Gibt es eine andere Methode der Bildschirmaufzählung?
Ein Agent vor dem Login kann Anzeigen mithilfe von CGGetOnlineDisplayList auflisten.
Ich habe den Beispiel-Apple-Code von hier verwendet.
Es wurde geändert, um CoreGraphics zu verknüpfen, und der Methode applicationDidFinishLaunching
wurde folgender Code hinzugefügt:
Wenn Sie der Dokumentation im Beispiel folgen, um die Protokolle anzuzeigen, wird Folgendes auf dem Anmeldebildschirm gedruckt:
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!
Tags und Links objective-c macos