Как заменить или переместить файл,
используемый другим приложением.
Автор: Marcus Neves
В Windows NT 4/2000 есть такая API функция, имеющая очень
интересный последний аргумент. Функция
позволяет также переименовывать указанный файл
или директорию.
MoveFileEx(ExistingFN, NewFN, MOVEFILE_REPLACE_EXISTING или
MOVEFILE_DELAY_UNTIL_REBOOT
Если задать MOVEFILE_DELAY_UNTIL_REBOOT в dwFlags (характерно
для Windows NT 4/2000), то в реестр будет занесена
специальная информация и после перезагрузки Windows
сотрёт или перепишет указанный файл
Параметры:
ExistingFN указатель на строку (null-terminated) , которая
содержит имя нужного нам файла или директории.
NewFN указатель на строку (null-terminated), содкржащую
новое имя файла, указанного ExistingFN.
Флаг MOVEFILE_REPLACE_EXISTING указывает функции заменить,
если файл ExistingFN уже существует. Если указать в NewFN
- nil, ExistingFN будет стёрт.
Пример:
* Перемещение файла:
MoveFileEx('c:\winnt\system32\kernel32.dll', 'd:\winnt.bak\system32\kernel32.dll',
MOVEFILE_REPLACE_EXISTING или MOVEFILE_DELAY_UNTIL_REBOOT
* Удаление существующего файла:
MoveFileEx('c:\winnt\system32\kernel32.dll', nil,
MOVEFILE_REPLACE_EXISTING или MOVEFILE_DELAY_UNTIL_REBOOT
|