Как заставить приложение Win 32 работать как служба Windows? - PullRequest
0 голосов
/ 10 января 2010

Наша компания только что завершила проект Win 32 Application, и у нас есть исполняемая программа, и она отлично работает в Windows. Теперь мы должны запустить его как службу Windows под учетной записью сети. Я довольно новичок в службе Windows, поэтому, пожалуйста, посоветуйте, что мне нужно сделать, чтобы преобразовать эту программу в службу Windows? Спасибо!

Ответы [ 3 ]

3 голосов
/ 10 января 2010

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

  • Зарегистрируйте обработчик управления службами, используя RegisterServiceCtrlHandler , как только ваша программа запустится. Это необходимо, чтобы вы могли обрабатывать события запуска и остановки. Если вы этого не сделаете, менеджер сервисов убьет ваш процесс, потому что считает, что это не реальный сервис.
  • Если у вас есть установщик, вы можете использовать команду sc для создания службы. Например: sc create MyService binPath= "C:\PathToExe\MyService.exe" type= own start= auto.
  • В качестве альтернативы вы можете позвонить CreateService , если у вас есть код для этого.
3 голосов
/ 10 января 2010

Если вы имеете в виду, что вы хотите запустить свое приложение как службу Windows, в Windows Resource Kits есть утилита. Это имя srvany.exe, и вы можете найти документацию об этом здесь: http://search.microsoft.com/search/results.aspx?st=b&View=en-us&s=1&c=0&qu=137890

Srvany.exe можно загрузить как часть средств набора ресурсов для Windows Server 2003 здесь: http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

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

Srvany.exe - хорошее бесплатное решение (как описано alemjerus), но, пожалуйста, проверьте AlwaysUp , если вы работаете в профессиональной среде и вам нужен надежный / расширенный набор функций.

Удачи!

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