Нужно ли устанавливать экранную заставку в System32? - PullRequest
4 голосов
/ 09 января 2012

В свое время в Delphi я написал несколько заставок - каждая из них представляла собой один исполняемый файл, который был помещен в папку System32, где панель управления Windows XP Display увидела его и сделала его доступным. Все хорошо.

Сейчас я пишу значительно более сложную заставку на C #, которая обязательно распространяется на несколько сборок (в ней используется подключаемый модуль: объединение всех сборок в один исполняемый файл не вариант).

Сброс всех файлов в System32 выглядит не очень аккуратно - не говоря уже о том, что он просто не будет работать в 64-битной системе.

Есть ли другой способ установить заставку в системе Windows?

Я готов взять зависимость от Vista / Win7, если это необходимо.

Единственное предложение, которое я сделал до сих пор, - это обычная установка основной части заставки, под Program Files, и установка триггера / запуска в System32.

Ответы [ 2 ]

5 голосов
/ 12 января 2012

Я нашел больше информации ...

Заставка не должна быть установлена ​​в System32 (или SysWoW64).

Однако , панель управления не найдет его и не выведет его для выбора.

Если не настроен в качестве текущей заставки.

Позвольте мнеобъяснить ... текущая заставка указана в ключе реестра SCRNSAVE.EXE, найденном в HKEY_CURRENT_USER\Control Panel\Desktop.Значение этого ключа - полный путь к файлу .SCR.

Дисплей (XP) или Заставка * Панель управления 1025 * (Win7) сканирует System32SysWow64 в 64-битных системах) для файлов .SCR, также сканирует папку, содержащую текущую заставку, если это не так.

Таким образом, если вы зададите ключ реестра напрямую, заставка будет отображаться на панели управления и доступна для выбора.Но, как только пользователь выбирает другую заставку, вызов next панели управления не отобразит новую заставку.

3 голосов
/ 09 января 2012

32-битные заставки идут в system32, а 64-битные заставки - в SysWoW64.

...