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

Ваш аккаунт

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

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

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

Вопрос про корзину

22K
22 октября 2007 года
YanMin
20 / / 22.08.2007
Господа подскажите, что делаю не так, в MSDN вроде так

Код:
#define WIN32_LEAN_AND_MEAN
#define _WIN32_WINNT 0x500
#include <windows.h>
#include <shellapi.h>
#include <Winuser.h>



  SHQUERYRBINFO SHQueryRBInfo = { sizeof(SHQUERYRBINFO), 1, 1 };
  HRESULT hr = SHQueryRecycleBin("D:\\", &SHQueryRBInfo);
     if (SUCCEEDED(hr) )
        {
               int gg=IntToStr(SHQueryRBInfo.i64Size);
          }


В SHQueryRecycleBin пробывал и с:\\ и просто NULL. НЕ хочет возвращать количестао файлов в корзине и их объем.
1
22 октября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: YanMin
Господа подскажите, что делаю не так, в MSDN вроде так

Код:
#define WIN32_LEAN_AND_MEAN
#define _WIN32_WINNT 0x500
#include <windows.h>
#include <shellapi.h>
#include <Winuser.h>



  SHQUERYRBINFO SHQueryRBInfo = { sizeof(SHQUERYRBINFO), 1, 1 };
  HRESULT hr = SHQueryRecycleBin("D:\\", &SHQueryRBInfo);
     if (SUCCEEDED(hr) )
        {
               int gg=IntToStr(SHQueryRBInfo.i64Size);
          }


В SHQueryRecycleBin пробывал и с:\\ и просто NULL. НЕ хочет возвращать количестао файлов в корзине и их объем.


 
Код:
int gg=IntToStr(SHQueryRBInfo.i64Size);

Это к чему?
Код нормально работает:
 
Код:
SHQUERYRBINFO SHQueryRBInfo = { sizeof(SHQUERYRBINFO), 1, 1 };
  HRESULT hr = SHQueryRecycleBin("C:\\Recycled", &SHQueryRBInfo);
     if (SUCCEEDED(hr) )
        {

               int gg=SHQueryRBInfo.i64NumItems;
               ShowMessage(IntToStr(gg));
        }
22K
23 октября 2007 года
YanMin
20 / / 22.08.2007
int gg=IntToStr(SHQueryRBInfo.i64Size);

Насчет этого согласен, просто раньше выводил в Label.

Но код все равно не работает ShowMessage(IntToStr(gg)); выдает 0.

Пробовал и "с:\\Recycled" и ”c:\\” и просто NULL не работает, все время выдает 0, хотя в корзине есть удаленные файлы со всех дисков. У меня XP, на работе выдает то же самое.
1
24 октября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: YanMin
int gg=IntToStr(SHQueryRBInfo.i64Size);

Насчет этого согласен, просто раньше выводил в Label.

Но код все равно не работает ShowMessage(IntToStr(gg)); выдает 0.

Пробовал и "с:\\Recycled" и ”c:\\” и просто NULL не работает, все время выдает 0, хотя в корзине есть удаленные файлы со всех дисков. У меня XP, на работе выдает то же самое.


Перд тем как выложить код я его проверил и протестировал. У меня нормально выводит количество и размер файлов. Указывать можно просто корень диска - нормально отрабатывает. Так что проверяй свой код - скорей всего ошибка в нем.

22K
25 октября 2007 года
YanMin
20 / / 22.08.2007
Не знаю в чем прикол, но у меня не работает. Причем компилил на трех разных машинах – результат один. Попробовал снести и заново поставить Builder – не помогло. Винду дергать не хочется. Похоже я что-то не так делаю, но что. Может глянете мой код и разъясните, где я накололся.
1
26 октября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: YanMin
Не знаю в чем прикол, но у меня не работает. Причем компилил на трех разных машинах – результат один. Попробовал снести и заново поставить Builder – не помогло. Винду дергать не хочется. Похоже я что-то не так делаю, но что. Может глянете мой код и разъясните, где я накололся.


Ну глянул. код работает. :)

22K
26 октября 2007 года
YanMin
20 / / 22.08.2007
Тогда я не знаю:mad: У меня этот код не работает на трех разных машинах. Бред какой-то. Что может быть. Какие мысли.
1
26 октября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: YanMin
Тогда я не знаю:mad: У меня этот код не работает на трех разных машинах. Бред какой-то. Что может быть. Какие мысли.


На трех разных машинах - какая ось? Надеюсь не 95/98/Миллениум? :)

22K
28 октября 2007 года
YanMin
20 / / 22.08.2007
Везде XP. А подскажите мой проект компилили или мой exe-к запустился с правильным отображением результатов?
1
29 октября 2007 года
kot_
7.3K / / 20.01.2000
Цитата: YanMin
Везде XP. А подскажите мой проект компилили или мой exe-к запустился с правильным отображением результатов?


Я не запускаю *.ехе-файлы которые получены из не проверенного источника. Был скомпилирован твой проект без каких либо изменений. При выводе программа отобразила мессагу - "2 2" - два файла было в данный момент в корзине.

22K
01 ноября 2007 года
YanMin
20 / / 22.08.2007
Я похоже понял в чем проблема.
Попробовал запустить код на Visual Studio, Delphi, Borland Developer Studio 2006 все работает.
Косяк с C ++ Builder 6.0. Возможно в нем надо что-то не так объявлять, либо сама сборка корявая, у меня 10.157.
Кто, что знает по этому поводу. Может подскажете где найти нормальный билд.
343
01 ноября 2007 года
lena_ki
282 / / 14.04.2005
У вас не стоит сервис пак номер 4 обновляющий Builder до версии 10.166
Он здесь: http://rxlib.ru/Downl/Downl.htm
22K
03 ноября 2007 года
YanMin
20 / / 22.08.2007
lena_ki
Респект и уважуха, все заработало.
Ларчик просто открывался.:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог