Проверьте от.NET, если Windows Update включен

В вашем коде было несколько ошибок, поэтому я попытался исправить некоторые из них.

  1. Элементы вашей диаграммы (т.е. столбцы и оси) должны быть добавлены в группу. Это позволит перемещать / переводить соответствующим образом по мере необходимости. Я создаю переменную chart и назначаю эти элементы ей, а не непосредственно svg. Это упрощает просмотр структуры при просмотре в консоли.

  2. Высота области легенды должна быть объявлена ​​и учтена в таблице. Я объявил это как переменную legendh и учел это в диапазоне оси Y.

  3. Если вы хотите, чтобы ваша группа легенд появлялась под диаграммой, ее необходимо перевести под диаграмму. В вашем предыдущем преобразовании для упомянутой группы .attr('transform', 'translate(' + (padding + 12) + ',0)'); были заданы координаты y 0. Я изменил его на .attr('transform', 'translate(' + (padding + 12) + ','+ (height - legendh) + ')');. Это говорит группе легенды двигаться вниз от вершины на величину height - legendh, таким образом, помещая ее под диаграмму.

  4. Наконец, цвета в легенде не совпадали с цветами в диаграмме / столбцах. Это было потому, что заполнение вашего бара было установлено d.key, а заполнение легенды было основано на i. Я решил сделать его равномерным и получить цвет, используя z(i).

Вот рабочий блок: https://bl.ocks.org/akulmehta/80153b35ab7498d30408f92cfa50f356

Вот рабочий код: [ 1121]



  
    
    D3 Example
    
    
    




5
задан Ovi 25 March 2009 в 15:56
поделиться

5 ответов

Сначала добавьте ссылку на WUApiLib "C:\windows\system32\Wuapi.dll"

Затем можно использовать этот фрагмент кода.

WUApiLib.AutomaticUpdatesClass auc = new WUApiLib.AutomaticUpdatesClass();
bool active = auc.ServiceEnabled;

MSDN: "Свойство ServiceEnabled указывает, доступны ли все компоненты, которых требуют Автоматические обновления,".

Установка auc. Настройки. NotificationLevel содержит информацию о текущем режиме. http://msdn.microsoft.com/en-us/library/aa385806 (По сравнению с 85) .aspx

8
ответ дан 18 December 2019 в 08:31
поделиться

Конечно, это - Ваш выбор сделать это, но запрашиваемый каждые несколько минут, что WindowsUpdate был выключен, были безусловно худшей проблемой удобства использования в XP.

Вы не хотите раздражать своих пользователей. Необходимо любить их. И определенно не нарушают в их частных делах как проверка, если WU выключен, потому что честно это не ваш бизнес.

5
ответ дан 18 December 2019 в 08:31
поделиться

Я полагаю, что можно сделать это при помощи Агента Windows Update API.

Посмотрите IAutomaticUpdates для специфических особенностей.

3
ответ дан 18 December 2019 в 08:31
поделиться

Можно проверить следующий ключ реестра.

HKEY_LOCAL_MACHINE
  SOFTWARE
   Microsoft
     Active Setup
       Installed Components
         {89820200-ECBD-11cf-8B85-00AA005B4340}

Если его значение IsInstalled равняется 1 затем, Windows Update установлен.

Это было взято от:

http://windowsitpro.com/article/articleid/15266/how-can-i-detect-if-windows-update-is-installed-on-a-machine.html

Мне на самом деле ДЕЙСТВИТЕЛЬНО нравится другой ответ на этот вопрос, но к сожалению, он только поддерживается на XP SP3, который не мог бы быть выполнимым.

2
ответ дан 18 December 2019 в 08:31
поделиться

Кроме того, можно проверить, чтобы видеть, работает ли услуга Windows Update использование объектов ПРОЦЕССА.

Что-то вдоль этих строк:

Function CheckIfServiceIsRunning(ByVal serviceName As String) As Boolean
   Dim mySC As ServiceProcess.ServiceController
   mySC = New ServiceProcess.ServiceController(serviceName)
   If mySC.Status = ServiceProcess.ServiceControllerStatus.Stopped Then
      ' Service isn't running
      Return False
   ElseIf mySC.Status = ServiceProcess.ServiceControllerStatus.Running Then
      ' Service already running
      Return True
   End If
End Function

если не изменяет память, применимый сервис называют "Wuauserv"

1
ответ дан 18 December 2019 в 08:31
поделиться