Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Трах с MoveFile[Ex]

7
07 февраля 2007 года
@pixo $oft
3.4K / / 20.09.2006
Мне потребовалось переместить *себя* в %Temp%.MoveFile возвращает 0,MoveFileEx-тоже(разные флаги пробовал-ничего не помогло).Смотрел на ошибку-Sharing Violation.Сначала подумал,что просто не закрыл *себя*(просто я до этого делал Mapping),Mapping и его дескриптор.После того,как я и их закрыл,перемещения как-то всё равно не произошло.Описываю процесс работы моей проги(только основные детали):сначала открытие *себя*+Mapping,потом GetTempPath+GetTempFileName(lpTmpDir,lpPrefix,0,lpTmpFile),потом закрытие Mapping'а и *себя*,а потом,собственно,MoveFile[Ex] lpSelf,lpTmpFile[,флаги].Таким образом,никакие файлы никем не заняты,и можно свободно перемещать.Возможная проблема-расположение *себя* на D:,в то время как %Temp% расположен на C:/или неправильная комбинация флагов/наличие УЖЕ созданного Temp-файла(хотя я ставил флаг MoveFile_Overwrite).Ни на VB,ни на Asm'е не работает-всегда Sharing Violation:mad: .Раньше(в других программах) всё работало нормально,причём даже MoveFile(без Ex'ов) не отказывался перенести *себя* в %Temp%
261
07 февраля 2007 года
ahilles
1.5K / / 03.11.2005
попробуй копировать через readfile writrefile
при открытии самого себя открывай с флагом GENERIC_READ
или копируй через SHFileOperation
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог