переименовать файл проще всего так: invoke CopyFile ; где даём для копии файла новое имя и сразу же invoke DeleteFile ; Удаляем старый файл. Но для этого нужно свободное место на диске для предварительного копирования. А если файл 2ГБ, а свободного места 500 мб? Можно ли переименовать файл напрямую Без копирования?
SHFileOperation параметры структуры SHFILEOPSTRUCT 1) wFunc = FO_RENAME 2) pFrom = Имя_файла 3) остальные параметры на твое усмотрение.
irrona Какая интерсная функция! Спасибо, будем изучать. [add] В догонку. Наверняка, все эти функции всё-равно сводятся к нескольким нативным, типа ntCreateFile и ntOpenFile ?
Aspire Сначала там проверяют ДОС-имена, потом стоит ntOpenFile и 7C82172F FF15 3010807C CALL DWORD PTR DS:[<&ntdll.NtSetInformationFile>] ; ntdll.ZwSetInformationFile