C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
удаление файла в корзину
Guest
Отправлено: 17.10.2005, 19:25


Не зарегистрирован







Есть код по удалению файла в корзину, но уж как то долго происходит удаление файла, может как то этот процесс можно ускорить ?
CODE

AnsiString  New_Path, Add_Path;
New_Path = "";
Add_Path = "";
SHFILEOPSTRUCT Str = {0};
Str.hwnd = NULL;
Str.wFunc = FO_DELETE ;
Str.fFlags = FOF_ALLOWUNDO | FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION;
Str.hNameMappings = NULL;
char Buf [1024] = {0};
GetEnvironmentVariable("Path", Buf , 1024  );
New_Path = AnsiString(Buf);
Add_Path =ExtractFilePath(PATH);
if (New_Path.Pos(Add_Path.c_str()) == 0)
  {
   New_Path += ";" + Add_Path;
   strcpy(Buf , New_Path.c_str());
   if (SetEnvironmentVariable("Path", Buf))
   SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0 , (LPARAM) "Environment");
   else
   return;
   }
Add_Path=PATH+'\0';
Str.pFrom = Add_Path.c_str();
SHFileOperation(&Str);
AVC
Отправлено: 18.10.2005, 08:50


Ветеран

Группа: Модератор
Сообщений: 1583



CODE

AnsiString  Add_Path;
SHFILEOPSTRUCT Str = {0};
ZeroMemory(&Str,sizeof(Str));
Str.hwnd = Handle;
Str.wFunc = FO_DELETE;
Str.fFlags = FOF_ALLOWUNDO | FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION;
Add_Path=PATH+"<!--POST BOX-->";
Str.pFrom = Add_Path.c_str();
SHFileOperation(&Str);

Ну попробуйте DeleteFile(PATH), но это уже не в корзину.

Вернуться в Вопросы программирования в C++Builder