Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Не удаляется файл


Автор: Mikel47 5.11.2004, 18:55
Когда пытаюсь удалить файл, выводится сообщение что объект используется другим приложением. Не знаю в чем дело!
Вот создание файла:
Код

HANDLE hFile;
New dlg;
CString str=CurDir;

str.Delete(str.Find("*.*",0), 3);
if(dlg.DoModal()==IDOK)
{
 str+=dlg.name;
 hFile=CreateFile(str, GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);
 RefreshList();
}


Вот удаление:
Код

LPSHFILEOPSTRUCT lpShell;
int pos;
lpShell=new _SHFILEOPSTRUCTA;
lpShell->wFunc=FO_DELETE;
lpShell->fFlags=FOF_NOCONFIRMATION;
lpShell->pTo=NULL;
lpShell->hwnd=this->m_hWnd;

WIN32_FIND_DATA wfdFile;
HANDLE hSearch;

if((hSearch=FindFirstFile(CurDir, &wfdFile))!=INVALID_HANDLE_VALUE)
{
 while(FindNextFile(hSearch, &wfdFile))
  if(wfdFile.cFileName==name)
   SHFileOperation(lpShell);  
}
RefreshList();


Пожалуйста помогите!! Горит!!

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