Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Здравствуйте. Знатоки помогите с функцией SHGetFileInfoW / 2 сообщений из 2, страница 1 из 1
02.05.2015, 23:25
    #38950692
ESAUL-00
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Знатоки помогите с функцией SHGetFileInfoW
Ребят задача требует получить информацию об объекте файловой системы : файле, папке, диске. Для этого использую функцию SHGetFileInfoW - в хидере описание данной функции выглядит так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SHSTDAPI_(DWORD_PTR) SHGetFileInfoA(LPCSTR pszPath,
						DWORD dwFileAttributes,
						__inout_bcount_opt(cbFileInfo) SHFILEINFOA *psfi,
						UINT cbFileInfo, UINT uFlags);

SHSTDAPI_(DWORD_PTR) SHGetFileInfoW(LPCWSTR pszPath,
					 DWORD dwFileAttributes,
					 __inout_bcount_opt(cbFileInfo) SHFILEINFOW *psfi,
					    UINT cbFileInfo, UINT uFlags);


Мой код , который выдает ошибку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
void __fastcall Twindowsnetrepository::FormCreate(TObject *Sender)
{
	UINT SysImageList;
	TSHFileInfo SFI;
//	char patch = '';
	ListView1->LargeImages = new TImageList(this);
	ListView1->SmallImages = new TImageList(this);
	//Запрашиваем большие иконки
 //	SysImageList = SHGetFileInfo('', 0,  &SFI, sizeof(SFI), SHGFI_ICON | SHGFI_SYSICONINDEX | SHGFI_LARGEICON);
	if (SysImageList != 0 )
		{
//Присваиваем системные иконки в ListViewl
			ListView1->LargeImages->Handle = SysImageList;
			ListView1->LargeImages->ShareImages = TRUE;
		}
//Запрашиваем маленькие иконки
	SysImageList = SHGetFileInfoW(' ', 0, &SFI, sizeof(SFI),SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
	if (SysImageList != 0)
		{
			//Присваиваем маленькие системные иконки в ListViewlОбзор дополнительных компонентов Delphi  323
			ListView1->SmallImages->Handle = SysImageList;
			ListView1->SmallImages->ShareImages =  TRUE;
		}
}


Компилятор ругается на первый параметр функции SHGetFileInfoW: LPCWSTR pszPath -" Character constant too long (or empty)".
Как видно из сообщения компилятору не нравится "Длинная или пустая константа" - pszPath. Пробовал передавать явно через константу pszPath ,путь к файлу все равно ругается. Подскажите если сталкивались в чем тут загвоздка. Просмотрел исходники трех Filemanager без результатно , ответа на свой вопрос не нашел.
...
Рейтинг: 0 / 0
03.05.2015, 00:15
    #38950697
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте. Знатоки помогите с функцией SHGetFileInfoW
Замени апострофы на кавычки.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Здравствуйте. Знатоки помогите с функцией SHGetFileInfoW / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]