Запуск dll с использованием rundll32.exe в качестве службы Windows

Мне удалось запустить dll с помощью rundll32.exe.

Теперь я хочу запустить его как службу Windows, но, похоже, он не запускается и получает время ожидания.

Я не знаю, как передать параметры.

Пробовать что-то вроде ..

sc.exe создать службу binPath = "c: \ windows \ system32 \ rundll32.exe -test.dll -Main"

Испытание предложений от создания службы с sc.exe; как передать параметры контекста, но, похоже, это не работает.

Какие-либо предложения?

Спасибо,

Картик


person user1621026    schedule 28.08.2012    source источник
comment
Что не работает? Вы проверили апплет управления службами и просмотрели командную строку для service?   -  person hmjd    schedule 28.08.2012


Ответы (1)


rundll32.exe не может работать как сервис! Вам понадобится такой помощник, как srvany.exe (из старого Resource Kit).

person Maximus    schedule 28.08.2012
comment
Хм, похоже, у меня нет srvany.exe в Windows 7, а sc.exe не может запускать DLL как службу .. - person user1621026; 28.08.2012
comment
Как я уже сказал, srvany - это часть старого набора ресурсов Windows. - person Maximus; 28.08.2012
comment
Для справки: в принципе ничто не мешает реализации службы как DLL и запуску через rundll32. Я считаю, что вы правы, полагая, что OP пытается сделать не это. - person Harry Johnston; 29.08.2012
comment
@Harry Johnston, извините за разочарование, но сервис гораздо более уравновешенный, чем простой профрам. Например, при запуске служба должна вызывать StartServiceCtrlDispatcher. - person Maximus; 29.08.2012
comment
@Maximus: а вы думаете, что DLL не может вызвать StartServiceCtrlDispatcher? Написал несколько сервисов, с технологией знаком. - person Harry Johnston; 29.08.2012
comment
Думаю, что rundll32 не вызывает StartServiceCtrlDispatcher. Я уже упоминал об этом. А вот сама Dll - может. Это правда. - person Maximus; 29.08.2012