Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Windows Service на VB, Что надо сделать с прогой чтобы она... 
:(
    Опции темы
devmaster
Дата 15.10.2003, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.10.2003

Репутация: нет
Всего: нет



Что надо сделать с прогой чтобы она стала сервисом?
Скажем как IIS, чтобы логоф из системы не влиял на его работу.

Заранее спасибо.
PM MAIL   Вверх
Vach
Дата 18.10.2003, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Есть пример на эту тему:
http://msdn.microsoft.com/archive/default....dn_ntsrvocx.asp

выполнен в виде ocx на с++ "NTService"

Sample.exe -install и проэкт в сервисах прописан
NTService1.StartMode = svcStartAutomatic - и он стартует сам ... и тд и тп

Все вроде доходчиво прописано.

PM MAIL ICQ   Вверх
devmaster
Дата 21.10.2003, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.10.2003

Репутация: нет
Всего: нет



Спасибо!

NTSVC.ocx работает, только вот одна проблема...
Когда делается старт сервиса у меня открывается форма, и она должна всегда висеть в таск менеджере. Но когда делается логоф-логон в систему, форма исчезает хотя прога нормально работает. Короче надо чтобы был как SQL Server, зашел-вышел а она в трее сидит.

Что делать? Какой ивент ловить?
Заранее спасибо.
PM MAIL   Вверх
Vach
Дата 21.10.2003, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Если как SQL Server:
Сервис там не один а тот который запускается по логону (Service Manager) это не сервис.
Это агент управляющий сервисами SQLля и запускается из \programs\startup.. sqlmangr.exe
При logoff он выгружается, а сервис как работал так и работает.
Это правильно с точки зрения безопасности. Пиши свой сервис вообще без формы
и управляй им скажем через Winsock (тады можно как к sql ремутно подключатся)

Set Winsock.пример.Navigate = "http://visualbasic.km.ru/school/activex/8.html"
Удачи.
PM MAIL ICQ   Вверх
devmaster
Дата 23.10.2003, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.10.2003

Репутация: нет
Всего: нет



Понимаю так:

сервис пишу отдельно от контролирующей проги, а в проге скажем по таймеру проверять состояние сервиса (старт/стоп), ну и само контролирование делать типа: net start или net stop (или через апишные функции)

Так?
PM MAIL   Вверх
Vach
Дата 23.10.2003, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Все верно (но зависит от уровня задачи)
Запустить сервис сразу после инсоляции у меня не получилось ".StartService" sad.gif (После перезагрузки всё работает) но через API тоже можно.
Лучше использовать для локальной связи программ COM и DCOM для сетевого общения. smile.gif Но можно и проще - через DDE.

Постарайся избавится от таймера там где это можно

ЗЫ. Вот еще пример по службам.
А тут примеры COM.

Удачи.
PM MAIL ICQ   Вверх
devmaster
Дата 24.10.2003, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.10.2003

Репутация: нет
Всего: нет



Да проблема в действительности в том, что прогу я уже написал и установил у клиента, и спустя некоторого времени им захотелось чтобы это был сервис. А прога сама по себе сервер, и когда писал не рассчитывал на то что ее надо будет держать как сервис. А там очень много чего создается и уничтожается динамически. Прямо незнаю что делать...

Думаю сделать так: следить за логофом и логоном и соответственно делать Form.Show

Что скажешь?
PM MAIL   Вверх
Vach
Дата 25.10.2003, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Думаю можно, тока я кода (перехват события логон ...) сказать не могу - потому как
я таким не занимался. И таймер тут скорее всего нужен будет sad.gif
Тут API ГУРУ нужен.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.