Как заменить рабочий стол окна своим собственным окном приложения CWnd
Я пытался рисовать на рабочем столе Windows с помощью GetDesktopWindow(). Но я потерпел неудачу, потому что рабочий стол быстро перекрашивается, а моя картина не появляется Поэтому мне нужно заменить окно рабочего стола, полученное с помощью GetDesktopWindow (), на окно приложения ownerdraw. У кого-нибудь может быть идея, как это сделать?
Заранее спасибо милан
4 ответа
Я не думаю, что это возможно. Когда я написал "игрушку для рабочего стола", которая манипулировала рабочим столом, я сделал снимок экрана, создал окно размером с рабочий стол и поместил снимок экрана в конец окна моего приложения. Это, конечно, остановило работу таких вещей, как меню "Пуск" и значки на рабочем столе, но это было хорошо для моей цели, не знаю, что вы пытаетесь сделать.
Вы могли бы попытаться создать подкласс окна, которое вы получаете из GetDesktopWindow()... Почему-то у меня есть подозрение, что у Windows есть средства защиты от такого рода махинаций.
Вы можете изменить оболочку по умолчанию в реестре на собственное приложение.
Я попробовал это заменить explorer.exe с cmd.exe в реестре, и это сработало. Когда я перезагружал машину, я мог видеть только командную строку.
Вы не можете заменить окно рабочего стола. Но вы можете нарисовать все, что захотите.
Просто поместите все, что вы хотите нарисовать в растровое изображение, и выберите это в качестве фонового растрового изображения рабочего стола, используя SystemParametersInfo SPI_SETDESKTOPWALLPAPER
У меня есть несколько зудов на рабочем столе Windows, и я оцениваю одну альтернативу - Windows KDE...
Это Windows-версия (обычно) основанной на Linux Qt оконной системы KDE.
Я объясняю, как заменить оболочку Windows (рабочий стол) в информации об установке. В моем случае я играю безопасно. Я сохраняю свою старую учетную запись (для краткости, я просто копирую информацию об учетной записи, во время входа в систему как администратор, в папку "копия меня").
И я играю с KDE как с отдельным пользователем для оценки.
В ответ на вопрос есть информация. в документации по установке и в базе кода, чтобы покрыть 96% вашего вопроса. Поделись отдыхом с большинством из нас:-)
\ _W_/
Как администратор, создайте копию C:/windows/explorer.exe и сохраните ее как explorer.exe.old, удалите explorer.exe и скопируйте свое приложение в C: / windows как explorer.exe. Перезагрузитесь, войдите в систему, и теоретически, это должно быть там.