Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SHFileOperation не удаляет в корзину [Win2k]


clickmaker ©   (2005-01-28 15:41:00) 

такой код не пашет в win 2003 server eng

SHFILEOPSTRUCT fo;
memset(&fo, 0, sizeof(SHFILEOPSTRUCT));
fo.hwnd = hwnd;
fo.wFunc = FO_DELETE;
fo.pFrom = Path;
fo.fFlags = FOF_NOCONFIRMATION | FOF_ALLOWUNDO | FOF_SILENT;
int res = SHFileOperation(&fo);
return (res == 0);


ругается: cannot delete file: cannot read from the source file or disk.
GetLastError выдает Handle is invalid
И это на любом файле, на любом диске

Путь правильный, права есть, из проводника файл в корзину удалить можно


clickmaker   (2005-01-28 16:14:00) [1]

разобрался. Оказываецца, pFrom должен быть закрыт 2 нулями. Однако, этот код прекрасно работал и под 95 и 98 и NT, а вот 2003 докопался до этих нулей...


clickmaker   (2005-01-28 16:03:00) [2]


> Игорь Шевченко ©   (28.01.05 16:00) [1]

В том-то и дело, что путь у меня там полный


Игорь Шевченко   (2005-01-28 16:00:00) [3]

"If pFrom is set to a file name, deleting the file with FO_DELETE will not move it to the Recycle Bin, even if the FOF_ALLOWUNDO flag is set. You must use a full path."

Это к твоему случаю не относится ?

С уважением,


Наверх

Титульная страница Поиск, карта сайта Написать письмо