Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2013, 18:53   #1
Makin_tosh
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 24
По умолчанию

Здравствуйте! Подскажите, как переместить каталог в корзину, используя MoveFileWithProgress.

Не много переделаю вопрос.
Пытаюсь удалять файлы не с помощью SHFileOperation, а своей функцией.
Как получить путь к корзине Windows?
И SHGetSpecialFolderPath, и SHGetSpecialFolderLocation возвращают пустую строку, в MSDN ничего по этому вопросу не увидел.

Последний раз редактировалось Stilet; 12.05.2013 в 13:05.
Makin_tosh вне форума Ответить с цитированием
Старый 12.05.2013, 10:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
возвращают пустую строку
Может корзина отключена?
Покажи код.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2013, 10:51   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

А просто скопировать в папку, где корзина, вроде не получиться - ведь где-то записаны первоначальное расположение файла, имя и т.д.
waleri вне форума Ответить с цитированием
Старый 12.05.2013, 14:17   #4
Makin_tosh
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 24
По умолчанию

Вот код:
Код:
                        LPITEMIDLIST ppidl;
			TCHAR szPath[MAX_PATH];
			//SHGetSpecialFolderPath(NULL, szPath, 0x001a, 0);
			/*SHGetSpecialFolderLocation(NULL, CSIDL_BITBUCKET, &ppidl);
			SHGetPathFromIDList(ppidl, szPath);*/
			SHGetFolderLocation(NULL, 0x000a, NULL, NULL, &ppidl);
			SHGetPathFromIDList(ppidl, szPath);
			ShowMessage((String)szPath);
Цитата:
А просто скопировать в папку, где корзина, вроде не получиться - ведь где-то записаны первоначальное расположение файла, имя и т.д.
А как тогда? Тот же Total имеет свой прогресс удаления. Мне как-то так и надо.
Makin_tosh вне форума Ответить с цитированием
Старый 12.05.2013, 14:51   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Код:
var ppid: LPITEMIDLIST;    szPath:array[1..255] of char;
begin
 new(ppid);
 SHGetSpecialFolderLocation(Handle,CSIDL_RECENT,ppid);
 SHGetPathFromIDList(ppid, @szPath[0]);
 Caption:=szPath;
end;
Вроде так должно быть.

P.S. Хотя Recent это не корзина. У меня на Вин7 CSIDL_BITBUCKET тоже ничего не возвращает. Наверно потому что:
Цитата:
The location of this directory is not in the registry;
I'm learning to live...

Последний раз редактировалось Stilet; 12.05.2013 в 14:54.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление ala Свободное общение 28 26.03.2021 15:44
Как переместить файл в корзину? Dodge_wow Общие вопросы C/C++ 2 28.05.2012 10:55
Как реализовать корзину в интернет-магазине? Revival001 PHP 4 01.03.2010 15:57
как реализовать корзину покупателя на Ajax Frie JavaScript, Ajax 16 18.10.2009 13:19