2012-01-06 4 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 Также большая часть API Mac OS X наилучший доступ через Objective-C, а не C++. Если это может быть доступ на C++, это будет через API C, и вам может быть лучше использовать Objective-C или Objective-C++. – bames53

+0

Я пытаюсь создать нечто похожее на Clippy Microsoft Office (раздражающий помощник скрепки), но мне нужно, чтобы он был доступен во всей ОС. Kinda, как маленькая анимация, с которой вы можете перемещаться и взаимодействовать. Если я не могу получить ручку, у вас есть какая-то другая идея о том, как я могу это сделать? – fdh

+0

Также ваше право, я сделаю это в Obj-C – fdh

ответ

2

Вы не можете. Он не принадлежит вашему процессу, и нет доступа к окнам, которые не принадлежат вам под Mac OS X, если вы не Dock.app или WindowServer. (Dock.app имеет некоторые особые привилегии, которые не могут быть дублированы другими процессами, а WindowServer напрямую отвечает за окна, поэтому он может делать все, что захочет.)

Текущие версии Finder создают значки рабочего стола, создавая полноэкранное, в основном прозрачное окно с очень низким уровнем. Если вы просто пытаетесь нарисовать материал поверх рабочего стола, вы, вероятно, можете сделать что-то подобное.

Смежные вопросы