powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Текущая директория для сервиса
14 сообщений из 14, страница 1 из 1
Текущая директория для сервиса
    #34602184
moteus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Надо переделать консольную программу в сервис. Программа просто читает данные с порта и запускает скрипт при приеме данных.
Все настройки хранятся в файле конфигурации который лежит рядом с программой.
Так вот проблема возникла при определении пути к этому файлу при запуске программы как сервиса. GetCurrentDir выдает системную папку, так же как и GetFullPath(argv[0],...).
Использовать реестр для прописывания пути к файлу настроек считаю не правельным. Пока придумал только прописывать путь при регистрации в параметрах командной строки, но это на мой взгляд мягко горворая выглядит не красиво.

Удачи.
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34602411
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moteus
Использовать реестр для прописывания пути к файлу настроек считаю не правельным
Постулаты какой религии нарушаются?

GetModuleFileName попробуйте
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34602455
moteus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
GetModuleFileName - работает.
А на счет религии. Я не вижу ни одной причины использовать реестр, а не файлы конфигурации.

Удачи.
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34602481
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moteusСпасибо.
GetModuleFileName - работает.
А на счет религии. Я не вижу ни одной причины использовать реестр, а не файлы конфигурации.

Удачи.
Напрмер, безопасность. Частенько пользователям запрещено писать в папку Program Files, а приложения частенько в нее устанавливаются.
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34602544
moteus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так можно запускать от имени другой учетной записи. Хотя если программа как у меня со скриптами, то это может быть не очень хорошо, ну да ладно. На эту тему можно развести настоящую HolyWar. Поэтому предлогаю закончить эту тему.

"Давайте жить дружно"(c)

Удачи.
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34602996
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавно. Чел. собрался писать софт под Win и шарахается от Registry.

P.S. Не ради холивара...
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603043
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЗабавно. Чел. собрался писать софт под Win и шарахается от Registry.

P.S. Не ради холивара...

Ну так щас модно не пользоваться реестром, типа оставим потомкам чистый Windows, не будет загрязнять окружающие ключи :)

А если серьезно, то может из-за того что все программы пишут в него что попало, то он и представляет из себя иногда подобие помойки.
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603141
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не думаю, что путь к файлу конфигурации в подветке Parameters сервиса,сильно испачкает реестр
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603158
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилНе думаю, что путь к файлу конфигурации в подветке Parameters сервиса,сильно испачкает реестрА зачем файл конфигурации если уже сделана собственная ветка в регистри?
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603199
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В любой ОС-и, платформе (парадигме) есть "правила игры". Если их мало-мальски соблюдать - можно делать софт, который заслуживает уважения. Думаю, что и для сисадминов процесс настройки или миграции пользователя (или приложения) упрощается, когда есть 100% уверенноть, что настройки лежат именно в HKLM или HKU, и не надо рыскать по каталогам, отыскивая связи приложения и ini файла, временами погружаясь в дзен-буддизм.

Кстати. Сам присутствовал в одном из форумов на словесном мордобое Линуксоида и BSD-шника. Парни сцепились по поводу идеологической правильности каталога etc. Мдя...

Автору желаю успехов. Но еще раз рекомендую поговорить с сисадминами по поводу способов настроек приложения. Надеюсь, что юношеский максимализм немножко утихнет.


----------------
С уважением
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603330
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА зачем файл конфигурации если уже сделана собственная ветка в регистри?
Если есть унаследованный файл конфигурации, достаточно в регистри путь к нему прописать. ИМХО.
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603514
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelikk[quot mayton]Забавно. Чел. собрался писать софт под Win и шарахается от Registry.

А если серьезно, то может из-за того что все программы пишут в него что попало, то он и представляет из себя иногда подобие помойки.

это очень плохой стиль использовать файлы конфигурации для сервисов - регистры нужно пользовать
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34603802
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik
это очень плохой стиль использовать файлы конфигурации для сервисов - регистры нужно пользовать

1) У автора унаследованное приложение
2) я хотел бы посмотреть, как вы будете в регистри заталкивать файл конфигурации сервиса, написанного на managed с++
3) Кроссплатформенный софт использует файлы конфигурации, а не регистри.В регистри разве что путь к файлу настоек задаётся. notes.ini как пример устроит?
...
Рейтинг: 0 / 0
Текущая директория для сервиса
    #34604959
moteus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня проэкт занимается приемом данных с последовательного порта.
Для разных железяк(например модемов, GSM терминалов(сделаных на заказ) ) надо посылать команды инициализации.
(AT команды или последовательность байт). Поэтому конфигурирование сводится не только к чтению параметров, но и к выполнению некого скрипта, который пишеться для разных целий разный.
Для некоторых задач эта программа может запускаться и как консоль, а для некоторых и как сервис.
Поэтому если использовать реестр то для того чтобы поменять железяку которая стоит на другом порту(тот же компьютер), то придется менять данные в реестре (номер порта, скорость, ... ) и скрипт инициализации в файле.
Да и на мой взгляд скопировать папку программы с ее содержимым намного проще чем гадать какие ветви в реестре надо искать. Про инсталяторы не надо говорить. Есть реальные программы в которых некоторые настройки можно сделать только руками в реестре.

Удачи.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Текущая директория для сервиса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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