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

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

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

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

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


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