![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.02.2010
Сообщений: 8
|
![]()
Здраствуйте.
Необходимо в программе реализовать проверку целостности(язык С/С++). То есть программа должна при запуске проанализировать свой exe файл. Сам анализ файла не представляет сложностей, НО как его открыть? ![]() Обычный способ открытия (fopen) не помогает, винда блокирует доступ к файлу так как он уже используется самой программой ![]() Единственный способ который я вижу это создание после запуска нашей программы(назовем ее 1.ехе) другой программы 2.ехе затем первая прога запускает вторую и завершается сама. После 2я прога проводит весь анализ и вновь запускает первую 1я теперь удаляет 2.ехе Но у этого метода куча минусов ![]() ![]() Помогите пожалуйста идею как это реализовать не прибегая к физическому созданию новых файлов. Или если это невозможно то подскажите как запустить сторонний exe файл средствами языка С++. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
![]()
Через fopen можно открывать файл, если запрашивать доступ только на чтение.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 07.02.2010
Сообщений: 8
|
![]()
Спасибо это уже немного легче, но мне надо записать результат анализа в конец exe файла, а для этого надо открыть для записи. Что посоветуете?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
ну попробуйте открыть через режим "a" или "a+" или "r+" (но указатель надо будет поставить на конец)
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 21.03.2010
Сообщений: 1,508
|
![]()
Если в конец этого же файла, то возможно у Вас ничего не выйдет.
Последний раз редактировалось xwicked; 11.03.2011 в 20:51. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 07.02.2010
Сообщений: 8
|
![]()
Файл просто не открывается. То есть в случае "r" все хорошо а при a, a+, r+ fopen возвращает NULL. Видимо создание копии и передача управления ей, а затем ее удаление - единственный вариант....
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
TriV, да, по сути это так.
На форуме был пример соответствующего кода, поищите... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать ссылку для открывания сайта в webbrowser самой программы , а не обычных браузерах | gefest58 | Общие вопросы Delphi | 1 | 14.11.2010 22:44 |
Узнать название exe файла программы из самой программы | Crystallon | Общие вопросы Delphi | 9 | 09.09.2010 16:22 |
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? | X-LEV-X | Общие вопросы Delphi | 7 | 09.03.2010 08:33 |
Взаимодействие с посторонним exe файлом | Anekdot | Общие вопросы Delphi | 1 | 09.09.2009 15:30 |
Проблемы с .exe файлом | Neadekwat | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 15.06.2009 13:22 |