![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| oleg2s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.5.2012 Репутация: нет Всего: 1 |
Доброе время суток.
Пишу сервис (пытаюсь). Подскажите, где (как) ввести описание сервиса, которое выводится в списке сервисов в колонке "описание"? |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 15 Всего: 72 |
Стандартно (существующими в VCL возможностями) - нигде.
Меняется с помощью ChangeServiceConfig2 с параметром SERVICE_CONFIG_DESCRIPTION. Пошукайте гуглом эту функцию, что-нибудь найтись должно. Если нет - набросаю пример, но позже, сейчас Delphi не под рукой. |
|||
|
||||
| oleg2s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.5.2012 Репутация: нет Всего: 1 |
Нашел вот такую строку, но она выдает ошибку, что ChangeServiceConfig2 и SERVICE_CONFIG_DESCRIPTION не определены
В каком модуле определяется функция? Как заполнить Info? Это сообщение отредактировал(а) oleg2s - 25.5.2012, 05:51 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
oleg2s, а можно напрямую в реестр записать... это описание сервиса.
-------------------- There are always someone smarter than you... |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 15 Всего: 72 |
Можно-то оно конечно можно Помнится, на delphimaster была достаточно большая дискуссия на эту тему - пользоваться функцией или реестром. В конечном итоге (само собой - к единому знаменателю так и не пришли), но был сделан промежуточный вывод, что использовать реестр для этой цели можно, но не совсем правильно, т.к. установка Description через реестр документирована неявно и использовать ее можно так же как и остальное недокументированное - на свой страх и риск. Правда, этот "страх и риск" действует от начала появления сервисов и как минимум до Win7 |
|||
|
||||
| oleg2s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.5.2012 Репутация: нет Всего: 1 |
Напрямую писать в реестр мне очень не хочется, т.к. считаю в данном случае, это дурной тон. |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
http://www.delphimaster.net/view/4-1130765521 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 15 Всего: 72 |
northener, точно, я же тогда участвовал в этой ветке
В стандартных модулях Delphi - нет определения. Можно или объявить самому, или воспользоваться JEDI API (правда, там объявлены не все структуры и константы, воспринимаемые рассматриваемой функцией, но того что есть хватит). Если дальнейшие планы сильно затрагивают использование WinAPI - настоятельно рекомендую скачать. Если же нет - то проще объявить в своем модуле. Туда "запихивается" указатель на предварительно заполненную структуру SERVICE_DESCRIPTION. Само собой - объявления SERVICE_DESCRIPTION в стандартных модулях тоже нет. Кстати, небольшое дополнение - правильно работает только ChangeServiceConfig2W. C A вариантом какие-то траблы - не полностью воспринимает LPStr в каких-то параметрах. Какая версия Delphi? Сам какой-нибудь код набросал уже? А то мне не терпится выложить на всеобщее поругание "усовершенствованный" SvcMgr.pas Это сообщение отредактировал(а) kami - 25.5.2012, 18:29 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
delphimaster помнит своих героев! -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
Ну так выкладывай, коли не терпится! Пригодиться я думаю. А мы с радостью "покритикуем" или "похвалим") Только давай отдельной темой в разделе WinApi. -------------------- There are always someone smarter than you... |
|||
|
||||
| oleg2s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.5.2012 Репутация: нет Всего: 1 |
А что я могу написать, если функция не описана и выдает ошибки? Я поэтому и задаю вопросы. Хотелось бы конкретных пример описания сервиса без лишнего кода. |
|||
|
||||
| kami |
|
||||||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 15 Всего: 72 |
понятно. Плохо, что не воспользовался
Используемые типы:
глобальные переменные:
Инициализация функций. Я почти всегда (не знаю почему) использую для этого секцию инициализации:
ну и сама работа:
|
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |