Мониторинг фона в Windows или на экране входа в Windows от изменений
Это не типичный вопрос, и я подумал о том, чтобы опубликовать его в Programmers Stack Exchange, но я считаю, что это более уместно.
То, что я хочу сделать, это следить за изменением фона Windows или экрана входа в систему. Я не совсем уверен, что лучший способ это сделать, но любые советы будут отличными.
2 ответа
Хорошо, я понял это сам. Вот что я сделал. Файл, который активно используется для входа в систему, находится здесь:
C: \ Windows \ System32 \ OOBE \ \ информация фоны \backgroundDefault.jpg
На самом деле нет нужды что-либо менять в реестре по сравнению с тем, что я понимаю, но само изображение слишком соответствует определенным требованиям с точки зрения размера и глубины цвета. Этот файл является тем, что отображается как экран входа в Windows. Просто замените файл изображением по вашему выбору, и все готово.
редактировать: кажется, вам нужно установить этот флаг в реестре, чтобы экран входа в систему, отличный от Windows, работал. Просто установите значение 1. Если на вашем компьютере есть экран входа OEM-производителя, он должен быть уже установлен:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background
Итак, вот скрипт, который я написал, чтобы отслеживать папку на предмет изменений. Теперь, чтобы дать немного фона, весь смысл этого состоял в том, чтобы помешать кому-то удаленно изменить мой фон. Некий человек продолжал разыгрывать меня и продолжал менять экран входа в систему на Джастин Бейбер или что-то в этом роде всякий раз, когда я отходил от своего стола. Но он сделал это, переименовав мой текущий "BackgroundDefault.jpg" в.old или что-то еще, а затем скопировал его изображение.
Так что мой скрипт отслеживает количество файлов в папке. Если он обнаруживает более одного файла, он очищает эту папку и восстанавливает копию моего фонового изображения из другого места. Затем, в ответном движении, он автоматически копирует изображение Backstreet Boys на свой компьютер, делая его образом входа в систему для своего компьютера. Звучит по-детски, но это заставило его остановиться.
@echo off
cd C:\Windows\System32\oobe\info\backgrounds
for /f %%A in ('dir ^| find "File(s)"') do set cnt=%%A
if %cnt% GEQ 2 GOTO :revenge
if %cnt% EQU 1 GOTO :exit
:revenge
del * /F /Q
copy C:\temp\temp2\mycomp\BackgroundDefault.jpg C:\Windows\System32\oobe\info\backgrounds
rename \\otherguy-pc\c$\Windows\System32\oobe\info\backgrounds\BackgroundDefault.jpg BackgroundDefaultOLD3318.jpg
copy C:\temp\temp2\otherguy\BackgroundDefault.jpg \\otherguy-pc\c$\Windows\System32\oobe\info\backgrounds\
:exit
Поскольку я выполнял этот сценарий просто как запланированное задание, я фактически запускал сценарий с помощью этого сценария.vbs:
Set noShell = CreateObject("WScript.Shell")
noShell.Run chr(34) & "C:\Users\cblasko\Documents\revenge.bat" & Chr(34), 0
Set noShell = Nothing
Причина для сценария vbs заключается в том, что при запуске сценария каждые 5 минут окно командной строки не мигает каждые 5 минут. Скрипт подавляет окно и запускает его в фоновом режиме.
В любом случае, миссия выполнена. Больше не надоедают картинки при пробуждении моего компьютера.
Существует групповая политика, которая определяет walpaper (или фон), а другая запрещает пользователю изменять ее.
Проверьте конфигурацию пользователя - шаблоны администратора - рабочий стол