опубликован 14-05-2001 12:09 MSK
Это нельзя сделать без перезагрузки
копютера (так, например поступают
Install/UnInstall). Делается это в
Win9x и в NT/2000 по разному.В Win9x помещается запись в файл
<WINDIR>\Wininit.ini типа
[rename]
....
NUL=<file_path>\<file_name>
(например,
[rename]
NUL=D:\MSOFFI~1\ACCESS\ADT\SETUP\MSACCCAH.DLL
NUL=D:\MSOFFI~1\ACCESS\ADT\SETUP\MSSETUP.DLL
NUL=D:\MSOFFI~1\ACCESS\ADT\SETUP\SETUP.EXE
)
следует учеть, что в этом файле могут уже быть и другие записи.
В NT/2000 для этого используется функция
MoveFileEx().
См. статью в MSDN "HOWTO: Move Files That Are Currently in Use"