powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Засунуть VB прогу в сервисы и слать емайлы с нее можно?
22 сообщений из 22, страница 1 из 1
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35874430
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем есть программа, она шлет письма. Заказчику тут приспичило чтобы она работала до логина в систему. Буду переделывать в сервис, но ему надо вынуть да положить щас. Для писем используется MSWINSCK.OCX Отсюда два вопроса:
1) Может ли программа слать письма через winsock будучи сервисом если система не залогинена? Есть тут какие-то тонкости от залогиненного варианта?
2) Можно ли прогу засунуть в сервисы как-то побыстрому пока я нормальный сервис не наваяю?
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35874561
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pantalone
1) Может ли программа слать письма через winsock будучи сервисом если система не залогинена? Есть тут какие-то тонкости от залогиненного варианта?

Да, работа с WinSock в сервисе не отличается от работы в "обычном" приложении. ActiveX, скорее всего, тоже будет работать без проблем.


2) Можно ли прогу засунуть в сервисы как-то побыстрому пока я нормальный сервис не наваяю?

Есть программа в ResKit - srvany - позволяет запускать любое приложение как сервис. Недостаток один - при остановке сервиса прога убивается через TerminateProcess
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35874788
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064
Да, работа с WinSock в сервисе не отличается от работы в "обычном" приложении. ActiveX, скорее всего, тоже будет работать без проблем.
[quot ]

А проблемы с файрволами какие-нибудь возникают? Интернет он вообще присутствует когда машина не залогинена?


[quot x1ca4064]
Есть программа в ResKit - srvany - позволяет запускать любое приложение как сервис. Недостаток один - при остановке сервиса прога убивается через TerminateProcess

Т.е. простая прога на VB с OCX всякими (у меня для кнопочек красивых например) будет работать как сервис? И даже форма где-то в памяти висеть будет, ведь изначально приложение именно под отображение формы расчитано.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35874803
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напортачил с цитатами.

x1ca4064
Да, работа с WinSock в сервисе не отличается от работы в "обычном" приложении. ActiveX, скорее всего, тоже будет работать без проблем.


А проблемы с файрволами какие-нибудь возникают? Интернет он вообще присутствует когда машина не залогинена?

x1ca4064
Есть программа в ResKit - srvany - позволяет запускать любое приложение как сервис. Недостаток один - при остановке сервиса прога убивается через TerminateProcess

Т.е. простая прога на VB с OCX всякими (у меня для кнопочек красивых например) будет работать как сервис? И даже форма где-то в памяти висеть будет, ведь изначально приложение именно под отображение формы расчитано.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35874823
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы програма работала как сервис, нужет NT Service Control. Программа с графическим интерфейсом работать как сервис не может. Отдельно сервис, отдельно интерфейс для управления им. Фаерволлу нужно указать, чтобы не блочил твою прогу, других проблем не будет.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35874874
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЧтобы програма работала как сервис, нужет NT Service Control. Программа с графическим интерфейсом работать как сервис не может. Отдельно сервис, отдельно интерфейс для управления им. Фаерволлу нужно указать, чтобы не блочил твою прогу, других проблем не будет.
Блин, дык я же спросил, мне надо прогу рабаотющую как форма запустить под сервисом, это можно или все-таки нельзя? Кому верить-то? :)
Нормальную прогу-сервис я буду делать это итак понятно, но на это уйдет куча времени, а ситуевина "вынь да полож" прям щас!
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35875180
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PantaloneТ.е. простая прога на VB с OCX всякими (у меня для кнопочек красивых например) будет работать как сервис? И даже форма где-то в памяти висеть будет, ведь изначально приложение именно под отображение формы расчитано.

Да. Только кнопки будет некому нажимать...

Для того, чтобы прога работала как сервис, необходимо, чтобы она реагировала на команды Service Control Manager. Но если Вы используете srvany, взаимодействовать с SCM будет srvany. По команде Start, он загрузит Вашу программу. По команде Stop он ее терминирует.

Подчеркиваю: Ваша прога не будет сервисом - но она будет запускаться до входа пользователя.

Просто проверьте - написать несколько ключей в реестре можно быстрее, чем обсуждать это в форуме...

Antonariy,
Наличие/отсутствие окна/окон не влияет на возможность работы сервисом.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35875418
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не правильно выразился. Наличие пользовательского интефейса крайне нежелательно потому что легко может возникнуть ситуация, когда программа ждет реакции пользователя и не может отвечать на команды менеджера. В результате программа будет принудительно закрыта.

А сделать сервис ничуть не сложнее, чем любую другую программу. Всякими запускалаками типа srvany никогда не пользовался, их возможностей не знаю.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897164
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy
А сделать сервис ничуть не сложнее, чем любую другую программу. Всякими запускалаками типа srvany никогда не пользовался, их возможностей не знаю.
Сервис на VB? Небось писанины там...
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897180
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет, совсем немного. примеров куча
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897217
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PantaloneAntonariy
А сделать сервис ничуть не сложнее, чем любую другую программу. Всякими запускалаками типа srvany никогда не пользовался, их возможностей не знаю.
Сервис на VB? Небось писанины там...Ага. Пара десятков строк.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub Form_Load()
Dim installFlag As Boolean
Dim uninstallFlag As Boolean
    NtServiceControl1.LogonAccount = "SystemAccount"
    NtServiceControl1.ServiceName = "Test"
    NtServiceControl1.DisplayName = "Test"
    NtServiceControl1.StartupType = "auto"
    installFlag = InStr(Command$, "-install") >  0 
    uninstallFlag = InStr(Command$, "-uninstall") >  0 
    If uninstallFlag And NtServiceControl1.ServiceIsInstalled() Then
        NtServiceControl1.LogEvent  1 , "Uninstalling"
        NtServiceControl1.UninstallService
        Unload Me
        Exit Sub
    ElseIf Not NtServiceControl1.ServiceIsInstalled And installFlag Then
        NtServiceControl1.LogEvent  0 , "Installing"
        NtServiceControl1.InstallService
        Unload Me
        Exit Sub
    End If
    NtServiceControl1.LogEvent  0 , "Starting"
    NtServiceControl1.RequestScmStopNotification
    NtServiceControl1.LogEvent  0 , "Started"
End Sub

Private Sub NtServiceControl1_ReceivedScmStopNotification(ByVal errorCode As Long, ByVal errorDetail As String)
    NtServiceControl1.AnnounceStoppingNow
    Unload Me
End Sub
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897233
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyPantaloneAntonariy
А сделать сервис ничуть не сложнее, чем любую другую программу. Всякими запускалаками типа srvany никогда не пользовался, их возможностей не знаю.
Сервис на VB? Небось писанины там...Ага. Пара десятков строк.
Елки, даже не верится что так просто, где-то тут подвох или недоговариваешь что-то :)
Вычитал еще что NTSVC.ocx может помочь ну проще некуда, читаю сижу.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897322
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возможно ли при помощи этих NTSVC.ocx или srvany сделать так чтобы прога не только как сервис запускалась если комп не залогинен, но и при логине можно было открыть форму этого приложения и кнопки нажимать?
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897498
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой примерчик сервиса на VB, называется vb6svc, его автор Сергей Мерзликин. Кто-нибудь знает возможно ли его на Висте запустить? У меня работать отказался.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35897742
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PantaloneА возможно ли при помощи этих NTSVC.ocx или srvany сделать так чтобы прога не только как сервис запускалась если комп не залогинен, но и при логине можно было открыть форму этого приложения и кнопки нажимать?Можно запустить вторую копию.
PantaloneЕсть такой примерчик сервиса на VB, называется vb6svc, его автор Сергей Мерзликин. Кто-нибудь знает возможно ли его на Висте запустить? У меня работать отказался.
Этот пример написан на api с применением потоков, он мертворожденный.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35898106
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЭтот пример написан на api с применением потоков, он мертворожденный.
Почему мертворожденный даже?
NTSVC.ocx кстати на висте и на 7 винде тоже не пашет, вот блин!
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35898550
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy
Слушай, не подскажешь как это дело дебажить можно?
Запустил прогу через NTSVC.ocx по примерчику который к этому компоненту прилагается. Прога издает звук каждые 10 секунд. Перегрузил комп, не залогиниваясь стал слушать. Звук проиграл всего два раза и все. Т.е. сервис выгрузился почему-то. Как бы узнать почему происходит выгрузка, в чем затык?
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35898602
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи код.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35899016
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался, дело было в том что я весь код запихнул в модуль. После переноски его непосредственно на форму прога перестала вылетать.
Подскажите теперь как узнать что комп залогинен или нет? А то у меня прога при запуске иконки в трее создает и сама прячется, и если она в режиме сервиса работает, то после логина иконка не появляется, судя по всему надо отслеживать когда юзер сам залогинился и отрисовывать иконку в трее заново, до логина она в трей видимо не попадает.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35899252
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Со всем вроде разобрался.
Возникла только неприятная проблема, если юзер залогинится, а потом выйдет, то сервису на NTSVC.ocx каюк :( Винда выгружает его как простую программу.
Есть идеи как побороть?
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35899386
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся, сервис не пропадает, все нормально при выходе юзера из сессии винды.
Однако приложение после повторного логина юзера не получает сообщение TaskbarCreated и соответственно я не могу понять что надо посестить в трей иконку.
Т.е. При первой загрузке системы служба запускается и далее при логине юзера приложение получает мессагу TaskbarCreated и поулчив это идет рисовать иконку. Потом если юзер разлогинился и снова залогинился, то TaskbarCreated больше не приходит, почему??? Хотя служба продолжает работать.
...
Рейтинг: 0 / 0
Засунуть VB прогу в сервисы и слать емайлы с нее можно?
    #35899413
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pantalone,

Иконка в трее или другое интерактивное приложение нужно загружать при входе пользователя, через "Автозагрузка", например. Сервис не должен обладать интерактивными возможностями. Далее Ваше интерактивное приложение взаимодействует с сервисом через TCP, UDP, Named Pipes, файлы разные, но не через виндовые сообщения.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Засунуть VB прогу в сервисы и слать емайлы с нее можно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]