Редактирование исполняемого файла
В VS можно создать xml-файл конфигурации (с именем типа my_project_name.config) - этот процесс отлично описан в MSDN. Зачем городить огород из залинкованных ресурсов?
+1. От себя добавлю, что иногда бывает более хорошим решением написать конфиг собственной структуры, это бывает полезно тогда, когда поведение программы в какой-то степени определяется структурой конфига. Так было в моём случае, когда мы писали SMPP-сервер. Там количество потоков и параметры их запуска определялись количеством описаний потоков.
Я то полностю согласен. Но может кто помнит Турбо Паскаль 5 и как его можно было перекрасить в другой цвет :). Так что была и такая практика.
2tva94 Насколько я знаю в 2.0 CRC сборки не контролируется при ее поиске, но запоминается. Про новый Фреймворк не в курсе. Но даже если и сейчас не контролируется, то это не значит что так будет и дальше. Почему ты хочеш привязать конфиг именно к бинарнику ? Защиту какуюто делаеш от копирования чтоли ?
А я помню, что изменение экзешника запросто приведёт к проблемам с антивирусом, а уж как отлаживать такой код, даже и вспоминать не хочется. Факт, что значения параметров можно и нужно хранить в отдельном файле, а если делать защиту, так лучше обфускатором пройтись, а ещё надёжнее через HASP, тут вопрос в сравнительной стоимости взлома. Смысл скрывать алгоритм я не вижу, поскольку действительно оригинальных алгоритмов очень мало в распространённом софте. Как правило, код закрывается для других целей. Я бы не советовал связываться с модификацией исполняемого файла, игра не стоит свеч.
В чём цель этой идеи? Что такое привязка? Привязать экзешник к файлу конфигурации, то есть сделать так, чтобы работа программы управлялась именно данными файла конфигурации - можно. А делать так, чтобы конфиг зависел только от данного конкретного экзешника... А если я его блокнотом открою? ;) По-моему, уважаемый tva94 не до конца представляет себе, что действительно нужно сделать.
P.S. Подумалось вот что. Очень трудно дать сразу нужный ответ, ничего не зная о решаемой задаче. Скажем, можно задать вопрос так: есть две металлических штуки, их надо скрепить между собой. Как это сделать? На форуме юных техников сразу же скажут: сварить, склепать, скрутить саморезами, спаять, ну и так далее. :) А теперь вопрос: сколько вы будете паять забор из оцинкованного профнастила? Как вы будете сваривать два листа жести? А если один лист сделан из медной жести, а другой из стальной? А если одна из металлических штук сделана из алюминия? Я вот думаю, что правильнее изложить высокоуровневую задачу, относительно которой и существует вопрос. В этой ветке больше постов посвящены тому, зачем хранить переменные в файле. Что за задача решается таким способом? Надо ли её решать именно так и вообще как-нибудь? Вот о чём неплохо бы подумать, перед тем как задать вопрос такого рода.
В папке с программой будут дата-файлы, без которых она не запускаеться. Я подумал и решил что редактирование ексешника ето жестоко. При потребности защиты я начну мутить с файлами, против чево разве шо только полное форматирование Вита поможет :)