Как отличить Task Scheduler 1.0 от Task Scheduler 2.0? - PullRequest
3 голосов
/ 22 декабря 2010

У меня есть приложение на C #, которое использует Task Scheduler 1.0 (файлы .job). Мне нужно расширить приложение для поддержки Task Scheduler 2.0 (xml).

Мне нужен код, который может сказать мне, что это за T.S. работает на текущем клиентском компьютере. Возможно ли это?

Ответы [ 2 ]

5 голосов
/ 22 декабря 2010

Task Scheduler 2.0 представляет интерфейс ITaskService и поддержку сценариев. Таким образом, вы можете попробовать, если COM-объект для этого класса существует или нет. Например,

var t = Type.GetTypeFromProgID("Schedule.Service");
if (null != t) 
{
   // we definitely have 2.0 version
}
else
{
  // 1.0 version
}

Отказ от ответственности: непроверенный код. Я взял идентификатор программы из примера MSDN: http://msdn.microsoft.com/en-us/library/aa446862(v=VS.85).aspx

0 голосов
/ 22 декабря 2010

Вы можете поэкспериментировать с различными версиями schedsvc.dll (это файл, в котором на самом деле размещается код планировщика задач), но вы можете обойти эту проблему при определении версии ОС компьютера, а затем решить, какую версию планировщика задач использовать.правильный.Из документа http://msdn.microsoft.com/en-us/library/aa446802(VS.85).aspx,

Где установлен планировщик задач

Планировщик задач автоматически устанавливается с несколькими операционными системами Microsoft.

Планировщик задач1.0 устанавливается вместе с операционными системами Windows Server 2003, Windows XP и Windows 2000.

Планировщик задач 2.0 устанавливается вместе с Windows Vista и Windows Server 2008.

...