W jaki sposób zostałabym aktywowana programowo, np. Przesunięcie do przodu i skupienie okna na systemie MacOS (nie należące do mojej aplikacji), biorąc pod uwagę jego numer Window ID
. Moja aplikacja działałaby z użytkownikami, którym udzielono pozwolenia na dostęp, itp.Aktywacja okna z jego identyfikatorem okna
Zaskakująco, żadna z funkcji opisanych w Quartz Window Services page nie wydaje się tego robić.
Korzystam obecnie z Swift, ale jestem otwarty na używanie Objective-C, AppleScript lub cokolwiek innego.
EDIT:
Nie chcę doprowadzić do przodu wszystkie okna aplikacji dominującej - tylko konkretnego pasujący identyfikator okna.
Edit:
wiem, że typ NSWindow
jest przeznaczona tylko odnieść się do okna bieżącego procesu, ale to nie ma klasy, która reprezentuje okien należących do zewnętrznych aplikacji? Tak jak mamy NSRunningApplication
, aby odnieść się do każdej uruchomionej aplikacji, w tym zewnętrznej, oczekiwałem, że interfejs API obsłuży wszystkie otwarte okna (zakładając odpowiednie uprawnienia). Czy gdzieś jest pochowana jakaś klasa taka jak NSOpenWindow
lub CGWindow
?
Proszę być bardziej konkretnie, czym jest "Window ID" i jak to zrobiłeś? – Hexfire
https://developer.apple.com/documentation/coregraphics/kcgwindownumber –
Identyfikator okna jest jedną z wymaganych wartości obecnych w oknie informacji zwróconych przez 'CGWindowListCopyWindowInfo()' –