Стас,а твой код сразу точку создает?
Тогда не подойдет,потому что мне нужно что бы проверялся статус для вывода информации,создание точки при этом будет очень некстати (человек меню выбрал что бы почитать для чего а ему хлоп и точку автоматом,или таблеткой запрос делаешь,или лог собираешь...)
Сейчас проверил один метод что нашел ан хр и 8.
Суть такова - в вин хр,как и предлагалось ранее,создается параметр DisableSR.
А в вин старше висты восстановление работает немного иначе - там фигурирует теневое копирование,распределение хранилища на дисках.
Если не через политики,а приведенным методом вырубить восстановление:
Sub DisableSystemRestore()
Dim objWMIService, objItem, errResults
Print strDisableSystemRestore1
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default")
Set objItem = objWMIService.Get("SystemRestore")
errResults = objItem.Disable("")
If errResults = 0 Then
Print strDisableSystemRestore2
Else
Print strDisableSystemRestore3
End If
Set objItem = Nothing
Set objWMIService = Nothing
End Sub
То,соответственно,обнуляется и хранилище и потребность в нем.
Поэтому - тупо смотрим на наличие в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SPP\Clients
требуемых данных и все,так вот просто.
Если мы там наблюдаем конфигурационную запись типа
\\?\Volume{a23e3006-0d89-11e3-9fe4-806e6f6e6963}\:(C%3A)
(расположение хранилища и т.д.) - значит восстановление включено,максимум что может грозить - ограничение доступа через политики,но это проверяется легко через чтение соответствующего параметра!
Все,работает четко и правильно,быстро;а самое главное - можно такую конструкцию использовать где угодно - батники,командная строка,vbs,vb6 ... короче кому где надо.
Надо проверить на серверных ОС,варианта два- или так или эдак,все зависит от ос.
Сейчас еще пробую прикрутиться к данным службы теневого хранилища,но там пока некоторая сложность у меня,не хочется что бы люди ось себе повредили.
Ну и проблему запуска на хр еще не решил на основной программе.