в общем до API core достучаться не смог(
вот здесь предлагали через захват прав и подмену изображений либо GPO http://forum.oszone.net/thread-248582.html
в общем реализовал аналог GPO - т.к. у меня корпоративное решение то вариант подходит
| Код | ... ... //////////////////////////////////////////////////////////////////////////////// // установка экрана блокировки для ПК Function SetLockScreenWin8Sys(FileName:String):boolean; var Reg: TRegistry; begin Result:=True; try try Reg:=TRegistry.Create; Reg.RootKey:= HKEY_LOCAL_MACHINE; { открываем и создаём ключ } if not Reg.OpenKey('SOFTWARE\Policies\Microsoft\Windows\Personalization', True) then Result:=False else { записываем значение } begin Reg.WriteString('LockScreenImage',FileName); Reg.WriteInteger('NoChangingLockScreen',1); if Is64BitWindows then // проверка на битность begin if not Reg.OpenKey('SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\Personalization', True) then Result:=False else { записываем значение } begin Reg.WriteString('LockScreenImage',FileName); Reg.WriteInteger('NoChangingLockScreen',1); end; end; end; finally Reg.Free; end; except Result:=False; end; end; {Function SetLockScreenWin8Sys(FileName:String):boolean;} ////////////////////////////////////////////////////////////////////////////////
|
ну и естественно удалить созданные ключи при деинсталяции ПО, иначе пользователям будет заблокирована возможность установки своего экрана блокировки
по идее на 10-ке тоже работает, но пока не проверил |