Как заменить рабочий стол окна своим собственным окном приложения CWnd

Я пытался рисовать на рабочем столе Windows с помощью GetDesktopWindow(). Но я потерпел неудачу, потому что рабочий стол быстро перекрашивается, а моя картина не появляется Поэтому мне нужно заменить окно рабочего стола, полученное с помощью GetDesktopWindow (), на окно приложения ownerdraw. У кого-нибудь может быть идея, как это сделать?

Заранее спасибо милан

4 ответа

Решение

Я не думаю, что это возможно. Когда я написал "игрушку для рабочего стола", которая манипулировала рабочим столом, я сделал снимок экрана, создал окно размером с рабочий стол и поместил снимок экрана в конец окна моего приложения. Это, конечно, остановило работу таких вещей, как меню "Пуск" и значки на рабочем столе, но это было хорошо для моей цели, не знаю, что вы пытаетесь сделать.

Вы могли бы попытаться создать подкласс окна, которое вы получаете из GetDesktopWindow()... Почему-то у меня есть подозрение, что у Windows есть средства защиты от такого рода махинаций.

Вы можете изменить оболочку по умолчанию в реестре на собственное приложение.

Я попробовал это заменить explorer.exe с cmd.exe в реестре, и это сработало. Когда я перезагружал машину, я мог видеть только командную строку.

Вы не можете заменить окно рабочего стола. Но вы можете нарисовать все, что захотите.

Просто поместите все, что вы хотите нарисовать в растровое изображение, и выберите это в качестве фонового растрового изображения рабочего стола, используя SystemParametersInfo SPI_SETDESKTOPWALLPAPER

У меня есть несколько зудов на рабочем столе Windows, и я оцениваю одну альтернативу - Windows KDE...

http://windows.kde.org/

Это Windows-версия (обычно) основанной на Linux Qt оконной системы KDE.

Я объясняю, как заменить оболочку Windows (рабочий стол) в информации об установке. В моем случае я играю безопасно. Я сохраняю свою старую учетную запись (для краткости, я просто копирую информацию об учетной записи, во время входа в систему как администратор, в папку "копия меня").

И я играю с KDE как с отдельным пользователем для оценки.

В ответ на вопрос есть информация. в документации по установке и в базе кода, чтобы покрыть 96% вашего вопроса. Поделись отдыхом с большинством из нас:-)

\ _W_/

Как администратор, создайте копию C:/windows/explorer.exe и сохраните ее как explorer.exe.old, удалите explorer.exe и скопируйте свое приложение в C: / windows как explorer.exe. Перезагрузитесь, войдите в систему, и теоретически, это должно быть там.

Другие вопросы по тегам