2010-12-23 25 views
0

在Mac OS X上有沒有類似於GetForegroundWindow的東西?可可如何知道哪個窗口是前景

我有兩個應用程序一個窗口(基於NSDocument)和一個命令行我想從命令行工具顯示一個NSOpenPanel,並希望使它爲基於NSDocument的應用程序的模型,但沒有它的windowref ?

回答

2

有什麼你想要的問題。

首先,Mac上的應用程序沒有窗口引用。應用程序可以有任意數量的窗口。其次,在Mac OS X中訪問其他進程的窗口是有限的。有幾個API以不同的方式訪問它們。無論如何,引用另一個應用程序的窗口不會讓您拋出該應用程序的模式對話框。

你想要的是讓命令行應用程序與前臺應用程序通信,以告訴它顯示打開的面板。您可以建立自己的通信協議(例如通過分佈式對象),也可以使用Apple Events/AppleScript來回傳輸。

+0

我接受了你的答案,但基本上我想從命令行工具中顯示NSOpenPanel。我可以將面板設置爲浮動,這將使系統級別的頂部窗口有一種方法,使其僅在基於nsdocument的應用程序之上? – user549164 2011-01-03 23:12:04

相關問題