Как предотвратить закрытие моей программы с помощью службы windows.
Всем привет,
Я закодировал программу для мониторинга деятельности печати, так как бы я сделал службу, чтобы предотвратить закрытие программы или позволить пользователю закрыть ее, но программа все еще работает в фоновом режиме, так как она все еще работает.
Кроме того, я предпочитаю использовать встроенный сервис в установщике, который делает то же самое.
Спасибо.
Что я уже пробовал:
я думаю о том, чтобы создать службу, которая будет следить за процессом и предотвращать закрытие программы, не позволяя пользователю завершить процесс.
есть ли лучшее предложение?
Sandeep Mewara
Если это деятельность по мониторингу, то почему это программа? Сделайте это само по себе как службу windows, которая работает в системе, захватывает действия печати и регистрирует их.
Пользователь даже не взаимодействует с ним, и поэтому нет необходимости беспокоиться о предотвращении закрытия приложения, которое не является хорошим, даже если вы этого добьетесь.
Tomas Ladeti
на самом деле это программное обеспечение с пользовательским интерфейсом, например некоторые элементы управления для настройки того, что нужно отслеживать, но то, что я хочу продолжать отслеживать, даже если программа закрыта.
Dave Kreskowiak
Да, вы не можете предотвратить закрытие приложения. Вы можете видеть, что процесс уходит, и перезапустить его, но даже это заноза в заднице, так как ваш сервис должен запустить процесс как вошедший в систему пользователь (там может быть несколько человек, вошедших в систему одновременно!) И вы должны убедиться, что процесс запускается на правильном рабочем столе, еще большая боль в заднице.
Tomas Ladeti
Таким образом, нет встроенного сервиса для того, чтобы, я имею в виду, установщик имел эту функцию?
Dave Kreskowiak
Нет, нет встроенного способа сделать это, и нет, установщик не имеет этой функции.
"Функция", о которой вы говорите, - это менеджер перезапуска. Он не может перезапустить приложения как пользователь, если установщик (или ваша служба) работает как LocalSystem. Он может сделать это только в том случае, если установщик работает от имени пользователя, который вошел в систему.