14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|||||||||||
1 | |||||||||||
Как работать с функцией SHGetFileInfoW?02.05.2015, 22:57. Показов 1536. Ответов 13
Метки нет (Все метки)
Ребят задача требует получить информацию об объекте файловой системы : файле, папке, диске. Для этого использую функцию SHGetFileInfoW - в хидере описание данной функции выглядит так :
Как видно из сообщения компилятору не нравится "Длинная или пустая константа" - pszPath. Пробовал передавать явно через константу pszPath ,путь к файлу все равно ругается. Подскажите если сталкивались в чем тут загвоздка. Просмотрел исходники трех Filemanager без результатно , ответа на свой вопрос не нашел.
0
|
02.05.2015, 22:57 | |
Ответы с готовыми решениями:
13
как работать с функцией? Как работать с функцией SystemParametersInfo? Как работать с функцией ранг Как работать с функцией memchr( ) в С++ |
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
02.05.2015, 23:40 [ТС] | 3 |
вот так
SysImageList = SHGetFileInfoW('H:\\фильмы', 0, &SFI, sizeof(SFI),SHGFI_SYSICONINDEX | SHGFI_SMALLICON); Добавлено через 42 секунды или через амперсанд надо?
0
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
03.05.2015, 00:32 [ТС] | 5 |
Это понятно спасибо. Просто параметр pszPatch задает файл или шаблон файла ,о которых требуется получить информацию. Я же ни ищу конкретно какие то файлы , мне требуется получить иконки папок и файлов , то есть этот параметр : pszPatch я могу просто задать как пустой символ - ' или нет?
Добавлено через 5 минут В примере книге Михаил Фленов - Бибилия Делфи на 322-й странице он передает в этот параметр : pszPatch = ' '. Когда я так делаю SysImageList = SHGetFileInfoW('', 0, &SFI, sizeof(SFI),SHGFI_SYSICONINDEX | SHGFI_SMALLICON); то пулучаю ошибку Character constant too long (or empty). Вот собственно вопрос что и как передавать в параметр pzsPatch ?
0
|
03.05.2015, 01:03 | 6 |
Вот что нам поведает справка:
1
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
03.05.2015, 01:10 [ТС] | 7 |
Камень в огород флеонова. А Архангельский тоже сыроежка?
0
|
03.05.2015, 01:27 | 8 |
Архангельский - человек, насколько мне известно, но в наше время, видимо, уже все возможно.
Его читал когда-то. Не скажу, что нет совсем очепяток в листингах, уже просто не помню. Но для начала хорошие книжки. Вообще же лучше полагаться на справку к библиотеке, если есть такая возможность.
1
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
03.05.2015, 03:09 [ТС] | 9 |
Приятно ))) пообщаться с человеком у которого чувство юмора развито
Добавлено через 1 час 37 минут А как же тогда в компонент ListView вывести все файлы и папки с некоторого файлового диска? Если передавать в pszPatch расширение файла то он выведет только файлы с этим расширением. То есть если мы зададим в pszPatch расширение файла то это будет шаблон.
0
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
||||||
03.05.2015, 12:21 [ТС] | 11 | |||||
Вот выдрал из исходника рабочую строчку
0
|
03.05.2015, 12:58 | 13 |
Вот, нашел еще в комментариях к справке:
Добавлено через 1 минуту Это означает, что строка состоит из символов whar_t, а не из символов char. Это обозначение юникода для компилятора.
2
|
14 / 10 / 5
Регистрация: 07.07.2012
Сообщений: 171
|
|
03.05.2015, 13:05 [ТС] | 14 |
Потихоньку продвигаюсь - уже голова кипит. Хочу попробовать создать аналог проводника windows с использованием компонента listview.
0
|
03.05.2015, 13:05 | |
03.05.2015, 13:05 | |
Помогаю со студенческими работами здесь
14
Как работать с функцией rand() Как работать с функцией SystemParametersInfo? Как корректно работать с функцией fread? Как правильно работать с функцией window()? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |