Автор: oleg_alexeev (14.03.2007 в 09:17)
>> Конечно можно. Работает ведь загруженный в память ексешник. а сам файл *.exe лежит мёртвым грузом. Можно что угодно с ним сделать.
В windows exe-файл после запуска не лежит мертвым грузом на диске, а является источником,
откуда windows будет считывать код, если он был выгружен из оперативной памяти во время
работы. Это написано у Рихтера в разделе про отображаемые на память файлы (memory-mapped
files). Логично предположить, что windows не даст туда ничего записать во время работы exe.
Я делал такую проверку -
1. открыл exe текстовым редактором и внес изменения в текст.
2. запустил exe - он вывел этот текст.
3. при запущенном exe пытаюсь открыть его редактором - не удается.
Мой exe - это стандартное GUI-приложение, скомпилированное Visual Studio.
А при каких условиях работает ваш пример ?