Как заменить рабочий стол окна своим собственным окном приложения CWnd - PullRequest
1 голос
/ 25 января 2010

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

Спасибо заранее, Милан

Ответы [ 5 ]

0 голосов
/ 07 марта 2019

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

0 голосов
/ 04 апреля 2012

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

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

0 голосов
/ 26 января 2010

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

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

0 голосов
/ 13 июля 2010

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

http://windows.kde.org/

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

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

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

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

\ _ ш _ /

0 голосов
/ 25 января 2010

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

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

...