Я пытаюсь получить доступ к окнам запущенных приложений через мое приложение.В настоящее время я собираю данные всех запущенных приложений, и kCGWindowNumber отображается на приложения, но у меня возникают проблемы с отображением окна на этот kCGwindowNumber.
Как я могу ссылаться на мои окна других запущенных приложений черезмой?У меня есть kCGWindowNumber этих приложений, но я не могу понять, как получить доступ к окнам.
Вот как я получаю свои данные
let options = CGWindowListOption(arrayLiteral: CGWindowListOption.excludeDesktopElements, CGWindowListOption.optionOnScreenOnly)
let windowListInfo = CGWindowListCopyWindowInfo(options, CGWindowID(0))
Затем я сохраняю их в объект, который представляет мое работающее приложение.Например,
{
kCGWindowAlpha = 1;
kCGWindowBounds = {
Height = 22;
Width = 3840;
X = 5520;
Y = 0;
};
kCGWindowLayer = 24;
kCGWindowMemoryUsage = 341416;
kCGWindowNumber = 190;
kCGWindowOwnerName = "Google Chrome";
kCGWindowOwnerPID = 272;
kCGWindowSharingState = 1;
kCGWindowStoreType = 2;
}
Теперь, когда у меня есть kCGWindowNumber, я пытался получить доступ к другим приложениям с помощью этого
NSApplication.shared.window(withWindowNumber: kCGWindowNumber_FOR_WINDOW_I_WANT)
, но, прочитав документацию, я понял, что NSApplication.shared возвращает Возвращаетэкземпляр приложения, и эти окна не являются частью моего приложения.