Как заставить нашу форму (приложение) запускаться при запуске Windows в C #? - PullRequest
3 голосов
/ 22 июля 2010

Я создал приложение с использованием C # 3.0. Мне нужно, чтобы это приложение запускалось и работало непрерывно при каждом запуске Windows. После настройки и установки приложения этот процесс должен произойти.Пожалуйста, дайте ваши предложения, чтобы сделать это.

Ответы [ 5 ]

4 голосов
/ 22 июля 2010

Если вам нужно приложение, которое запускается при запуске и непрерывной работе Windows, это должна быть служба Windows. Вы не сможете использовать графический интерфейс и Windows в составе одного и того же приложения / проекта, вам нужно будет написать это отдельно и связаться со Службой.

Если вы хотите, чтобы он работал непрерывно и не останавливался, простое приложение Windows Forms не сделает этого: конечно, пользователь может закрыть его. Они также могут закрывать службу, но вы можете настроить (на вкладке «Восстановление») перезапуск, если он «выходит из строя» (уничтожается в диспетчере задач). Они все еще могут остановить службу вручную, но не так легко.

Это шаблон проекта, встроенный в Visual Studio. В зависимости от того, что делает ваше приложение, обычно лучше создать экземпляр объекта Thread и поместить свою логику в своего рода цикл, который выполняется в новом потоке. Из методов OnStart и OnStop самого потока Service вы можете создать поток или дать ему сигнал об остановке (или просто Abort это).

Нажав правой кнопкой мыши на сервис в конструкторе, вы можете «Добавить установщик», что означает, что если вы запустите installutil с именем приложения, сервис будет установлен и, если вы установите правильные свойства на Сервис и установщик, запускаются автоматически.

С точки зрения того, нужен ли вам пользовательский интерфейс - вам нужно было бы придумать какой-то способ пользовательского интерфейса для общения со службой; вы можете использовать именованные каналы, отображаемые в память файлы или использовать WCF (.NET 3.5+) с провайдером именованных каналов / TCP и обращаться прямо к нему.

Для справки:

http://msdn.microsoft.com/en-us/library/aa984464(VS.71).aspx

Надеюсь, это поможет.

3 голосов
/ 22 июля 2010

А как насчет добавления программы в папку автозагрузки при установке?Когда вы создаете проект настройки, просто добавьте ярлык к выводу из основной программы в папку запуска конечного ПК.

3 голосов
/ 22 июля 2010

Сделайте это службой Windows, и она будет запускаться автоматически.Или, если вам важно только, когда пользователи вошли в систему, поместите его в общую папку автозагрузки, чтобы он запускался для каждого пользователя.

0 голосов
/ 22 июля 2010

Используйте WindowService в этом OnStart () {......} вы будете писать код для запуска приложения

0 голосов
/ 22 июля 2010

Какое приложение для установки вы используете? Часто они имеют встроенные функции для этого.

Если вы хотите сделать это в своем коде c #, вам придется редактировать его в реестре. Прочтите эту статью. (Я полагаю, что вам также потребуются права администратора в манифесте )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...