"
в VBA можно записать как """"
или Chr(34)
"""
- это не то же самое, что """"
В типе непосредственного окна это [1114 ]
?Chr(34)
" '<~~ This is what you will get
, а затем это
?"""" = Chr(34)
True '<~~ This is what you will get
Теперь попробуйте
?""" = Chr(34)
Посмотрите, что вы получите:)
В вашем коде замените """
на """"
или Chr(34)
, поэтому становится What:=""""
Можно найти это видео интересным. Хорошее интервью с инженером, ответственным за сервисы окон и также, входит, когда выбрать сервис или задачу. Вкратце, если Ваша функция попадает в периодическую категорию технического обслуживания, идут с задачей.
Служба Windows более безопасна: никто не может отбросить его и когда-либо работает. Я нашел много проблем с Windows Tasks (не выполнение...).
Windows Task Scheduler для задач конечного пользователя не для задач приложения. Так или иначе Windows Backup использует его ;-)
Я предпочитаю Планировщика задач сам, поскольку легче поддержать и внести изменения в расписание, если Вы должны.
Кроме того, утилиты, которые работают непрерывно и "сон", рискуют вызывать проблемы, если разработчик "забывает" делать вещи как близкие соединения, файлы и т.д., которые могут расти со временем. Выполнение программы "и выхода" является дополнительным слоем безопасности.:-)
Если бы Вы идете сервисным путем затем, я рекомендовал бы использовать Систему. Поточная обработка. Таймер. С этим можно установить его для увольнения события раз в час. Можно поместить интервал в app.config, если Вы думаете, что необходимо будет когда-либо изменять его.
Услуги также работают в соответствии с локальной системной учетной записью (по умолчанию), тогда как необходимо предоставить имя пользователя/пароль при использовании запланированных задач. При использовании имени пользователя, это становится проблемой обслуживания, если Вы когда-нибудь изменяете свой пароль и забываете обновлять задачу.
У меня есть ситуация, где я использую комбинацию обоих на самом деле. Услуга работает постоянно в течение дня, но они делают техническое обслуживание сети и сопровождение базы данных каждую ночь. Так, я использую две запланированных задачи. Один для завершения работы сервиса в полночь и один, чтобы снова включить его в 4:00. Это сделано путем называния.BAT файлов с СЕТЕВОЙ ОСТАНОВКОЙ / СЕТЕВЫМИ командами ЗАПУСКА.
Я думаю, что сервис окон, вероятно, более надежен и легче контролировать, но он не предложит той же гибкости планирования как запланированная задача out-of-the-box. Я, вероятно, пошел бы с сервисом так или иначе, так как большинство enterprisey приложений имеет тенденцию работать как сервисы, не запланированные задачи.
Для недавних проектов я использовал Quartz.NET для установки запланированной обработки в сервисах окон. Это на самом деле не слишком трудно для установки (хорошее учебное руководство), и CronTrigger даст Вам тонну гибкости только с крошечным битом конфигурации. Мне нравится он лучше, чем необработанный Таймер.NET.
I suppose to throw my 5 cents worth in, using task scheduler will save some memory when your task is not running.