2009-12-13 63 views
3

我想有這是很簡單的窗口的列表,但我需要以及到:的MacOS:列表窗口和檢測新窗口

  • 當一個新的窗口出現

  • 通知當現有的窗口自敗

  • 檢測時窗口的當前位置/大小改變通知

你有什麼想法嗎?

預先感謝

回答

1

在這個崗位答案應該是非常有幫助的:How can my app detect a change to another app's window?

如果你只想得到自己的應用程序窗口,你可以使用

int pid = [[NSProcessInfo processInfo] processIdentifier]; 

使用這些信息,您可以編寫一個類來監視此信息,並將更改發佈到NSNotificationCenter或在其代理上調用方法。

+0

我必須測試,但這聽起來很有趣。 – 2009-12-13 20:28:41

+0

提到的線程使用Mac OS X的Accessibility API。請注意,用戶必須打開「啓用輔助設備訪問」。在系統首選項中。 – 2009-12-13 21:50:04

0

抓鬥樣品的子提供code to list windows
你可以輪詢基於CGWindowListCreate()的定時器,但我想有更優雅的解決方案。

也許你可以使用NSDistributedNotificationCenter來獲取全球NSWindow通知。 (沒試過,就是自己 - 只是一個起點)

+0

合併是我想要避免的。我檢查了通知,但沒有發現有用的東西。 – 2009-12-13 19:07:41