Windows 10 Home Edition - лицензионная
Asus ROG GL752VW Series Notebook
Обновления Windows приводят к тому, что не лицензионные приложения со временем перестают работать. И это факт. И не только это печалит, а и вовсе черт знает что происходит.
Запрет службы «Центр обновления Windows» приводит к некоторому успокоению, но только на время. После перезагрузки или выхода из гибернации служба из состояния disabled переходит в ручной режим. Причина в том, что эта служба связана с другими службами, а отключать всю цепочку не хочется, это приведет к непоняткам.
Все советы в инете через реестр и прочие решения относятся к версии PRO, поэтому не интересны.
Как быть?
Вот программа, запускается без формы, висит в списке «Фоновые процессы» под именем «sc_disabled.exe». Что она делает? Через определенное время, которое задается как параметр, по умолчанию 2 секунды, выполняет пакетный файл sc_disabled.bat и все... Служба принудительно раз в 2 секунды становится disabled. Память не жрет 1.5 Мб, ресурсы тоже.
Для Win7 тоже подойдет. Выключить программу можно только через Диспетчер задач, так как она циклическая. А запустить ее можно либо вручную, либо через папку «Автозагрузка».
Код:
program sc_disabled;
uses
Windows, SysUtils, ShellApi;
var AppPath:string;
Handle:THandle;
Msg: TMsg;
Interval:integer;
st:string;
code:integer;
pri:integer;
procedure sysTimerProc(Wnd: HWND; uMsg,idEvent,dwTimer: UINT); pascal;
begin
ShellExecute(Handle, nil, 'sc_disabled.bat', nil, PChar(AppPath), SW_HIDE);
end;
begin
st:=LowerCase(ParamStr(1));
Val(st,pri,code);
if code=0 then Interval:=pri else Interval:=2000;
if Interval<1000 then Interval:=1000;
AppPath := AnsiUpperCase(ExtractFilePath(ParamStr(0)));
SetTimer(0,0,Interval,@sysTimerProc);
while (GetMessage(Msg,0,0,0)) do DispatchMessage(Msg);
KillTimer(0,0);// до сюда не доходим
end.
Содержания файла "sc_disabled.bat ":
sc config wuauserv start= disabled
Программу sc_disabled.exe конечно нужно наделить правами:
Свойства+Совместимость+Выполнять эту программу от имени администратора
Почему программа запускает bat файл, а не сам bat является конечным звеном? Потому что я не знаю как сделать пакетный файл навсегда от имени администратора и не знаю как сделать в пакетном файле непрерывный таймер.
Если кто короче придумает, тот и молодец, а если кто скажет какие службы надо отключить навсегда в цепочке тот вообще гуру.
С другой стороны этот код можно вообще и к другим службам прицепить.
Я все сказал.