Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > C/C++: Системное программирование и WinAPI > как программно переписать открытый системный файл?


Автор: nnn 26.05.03, 05:55
Есть у меня своя библиотека gina.dll

Хочу при установке этой библиотеки, чтобы она загружалась, как msgina.dll, которая естественно, уже загружена winlogon' ом при старте Windows.
Как мне сделать чтобы Windows после перезагрузки заменила msgina моей библиотекой?
Т.е. мне надо заменить системную библиотеку msgina.dll своей библиотекой.
Никто не сталкивался?

З.Ы. Надо это для того, чтобы она грузилась и в защищенном режиме.

Спасибо.

Автор: AlexSm 26.05.03, 07:15
http://www.rsdn.ru/article/default.asp?baseserv/extgina.xml  - Тут есть про то, как её прописывать в системе

Автор: nnn 26.05.03, 07:42
Я эту стартью читал, хорошая статья...

Дело в том, что при нормальном методе, который предлагает MSDN и эта статья,
моя dll - ка в защищенном режиме грузиться не будет, будет грузиться msgina.dll
А мне надо, чтоб грузилась. Связано это с защитой данных, и поэтому длл-ка должна грузиться независимо от режима.
Надо переименовать msgina.dll к примеру, в msgina1.dll, а свою записть, как msgina.dll
Тогда будет грузиться - проверено.
Но грабли в том, что winlogon подгужает msgina.dll при старте системы, а выгружает при завершении работы - т.е. файл все время занят.
Заменить ее можно конечно руками, но хотелось бы этот процесс автоматизировать на этапе установки программы.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)