И снова о сервисах
Вопрос следющий. Я написал прогу. Зарегал ее как сервис. Теперь не могу ее запустить. Когда нажимаю на Start, появлется окно моей программы, но как я понял Service Manager не получает "уведомления" от моей проги, что все в порядке. Какое "уведомление" и как должна послать моя программа?
Операционная система Windows 2000 Pro
Пишу в VisualStudio 6.0
Вопчем, после длительного ковыряния MSDN, нашел кучу всяких функций (назначение которых более или менее ясно) и среди прочих:
Код:
VOID WINAPI Handler(DWORD fdwControl);
Как я понял работает она по типу оконной процедуры. Что она делает, мягко говоря, не понятно. Соответственно незнаю что за код в этой функции прописывать. Также не понятно откуда она будет вызываться. Единственное, что я понял, эта функция необходима для работы сервиса. :)
Также выяснил, что я ничего не знаю о сервисах :) А самому разбираться очень и очень трудно, т.к. я не знаю английского :(
Поможите, люди добрые.
Прилагаю прогу из 9й главы этой книги.
Она ловит изменения в файловой структуре.
Ф-ии в util.*, reg.*, svcmain.*, это стандарт. Только в svcnmain нужно сделать небольшие изменения(напр. заменить в CreateThread fspymain именем основной ф-ии своей программы)
И главное, чтоб твой сервмс мог остановить services.msc.
Цитата:
Originally posted by rostyslav
Если тебе нужно будет написать не один сервис, то как-то достань книгу Вильямс-Программирование Windows2000. Там не только о сервисах. И она лучше от книги Рихтер, Кларк - Программирование серверных приложений для W2000, хотя бы потому, что на много проще.
Прилагаю прогу из 9й главы этой книги.
Она ловит изменения в файловой структуре.
Ф-ии в util.*, reg.*, svcmain.*, это стандарт. Только в svcnmain нужно сделать небольшие изменения(напр. заменить в CreateThread fspymain именем основной ф-ии своей программы)
И главное, чтоб твой сервмс мог остановить services.msc.
Если тебе нужно будет написать не один сервис, то как-то достань книгу Вильямс-Программирование Windows2000. Там не только о сервисах. И она лучше от книги Рихтер, Кларк - Программирование серверных приложений для W2000, хотя бы потому, что на много проще.
Прилагаю прогу из 9й главы этой книги.
Она ловит изменения в файловой структуре.
Ф-ии в util.*, reg.*, svcmain.*, это стандарт. Только в svcnmain нужно сделать небольшие изменения(напр. заменить в CreateThread fspymain именем основной ф-ии своей программы)
И главное, чтоб твой сервмс мог остановить services.msc.
Огромное спасибо. Выкинул из примера все, что не относитсья к сервису напрямую. Все прекрасно работает, и запускается и останавливается как надо. И регистрация и удаление сервиса в системе - тоже все пучком!
Еще раз спасибо!