Гость
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Получить имя windows-сервиса по его хендлу / 3 сообщений из 3, страница 1 из 1
10.06.2019, 17:24
    #39825046
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя windows-сервиса по его хендлу
Есть handle сервиса полученный через CreateService или OpenService.
В том контексте где используется хендл, уже нет менеджера, т.е. не известно откуда этот хендл пришел, из удаленной машины или из локальной.
Как по этому хендлу получить его имя.
DisplayName можно получить через QueryServiceConfig.

Но вот имя через GetServiceKeyName по DisplayName требует хендл менеджера.

Собственно вопрос. Как, зная только хендл сервиса узнать его имя?
...
Рейтинг: 0 / 0
10.06.2019, 17:57
    #39825057
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя windows-сервиса по его хендлу
Наверное получить список процессов через CreateToolhelp32Snapshot.
Потом перебрать его через Process32First и Process32Next, получая хендлы каждого процесса и сравнивая с искомым.
Так получить хендл нужного процесса. Получить имя исполняемого файла этого процесса.
Затем перебрать список служб через EnumServicesStatusEx, сравнивая имена исполнямых файлов.
Так получить нужное имя службы.
...
Рейтинг: 0 / 0
10.06.2019, 18:11
    #39825066
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить имя windows-сервиса по его хендлу
Eolt,

EnumServicesStatusEx требует хендл менеджера.

В том контексте где используется хендл сервиса, уже нет менеджера (т.е. хендл менеджера не известен)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Получить имя windows-сервиса по его хендлу / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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