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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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