2012-01-06 189 views
1

使用C++,我將如何獲得Mac OS X上的桌面窗口句柄?如何獲取桌面窗口句柄?

+0

在Windows上,代表桌面的窗口有一個句柄,但Mac OS X並不相同。所以你需要做什麼取決於你想要完成什麼。例如,如果你想在桌面上繪製:http://stackoverflow.com/questions/4982584/how-do-i-draw-the-desktop-on-mac-os-x另外,大部分Mac OS X的API是最好通過Objective-C而不是C++訪問。如果它可以通過C++訪問,那麼使用Objective-C或Objective-C++可能會更好。 – bames53 2012-01-06 19:17:32

+0

我正在嘗試創建類似於Microsoft Office的Clippy(令人討厭的回形針助理)的東西,但我需要在整個操作系統中訪問它。有點像一個小動畫,你可以移動和互動。如果我無法得到句柄,你有什麼其他想法可以做到這一點? – fdh 2012-01-06 19:34:02

+0

也是你的權利,我會在Obj-C做 – fdh 2012-01-06 19:40:05

回答

2

你不能。它不屬於你的流程,除非你是Dock.app或WindowServer,否則你無法訪問Mac OS X下不屬於你的窗口。 (Dock.app有一些特殊的權限,其他進程不能複製,WindowServer直接負責窗口,因此它可以做任何想做的事情。)

Finder的當前版本通過創建桌面圖標一個全屏幕,幾乎透明的窗口,具有非常低的水平。如果你只是想在桌面上繪製東西,你可以做類似的事情。