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

Ваш аккаунт

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

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

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

вопрос по ListView_GetItem

9.9K
18 февраля 2005 года
alex_ferr
3 / / 18.02.2005
хочу получить список иконок с рабочего стола
написал код:

HWND Wnd;
int count, i;
AnsiString msg;
LV_ITEM info;

Wnd=FindWindowEx(GetDesktopWindow(), NULL, "Progman", "Program Manager");
Wnd=FindWindowEx(Wnd, NULL, "SHELLDLL_DefView", NULL);
Wnd=FindWindowEx(Wnd, NULL, "SysListView32", NULL);
count=ListView_GetItemCount(Wnd);
Memo1->Lines->Clear();
Memo1->Lines->Add("Count: "+IntToStr(count));
Memo1->Lines->Add("Top index: "+IntToStr(ListView_GetTopIndex(Wnd)));
for (i=0;i<count;i++)
{
memset(&info, 0, sizeof(info));
info.mask=LVIF_TEXT;
info.iItem=i;
info.iSubItem=0;
info.pszText=buffer;
info.cchTextMax=255;
try
{
msg=IntToStr(i)+" ";
if (ListView_GetItem(Wnd, &info))
msg+=">'"+AnsiString(info.pszText)+"'<";
else
msg+="?? ";
Memo1->Lines->Add(msg);
}
catch ( ... )
{
Memo1->Lines->Add("Error Item "+IntToStr(i));
}
}

ListView_GetItem отрабатывает нормально (возвращает true), но почему-то в info не заполняются данные.
Подскажите в чем может быть проблема?
9.9K
18 февраля 2005 года
alex_ferr
3 / / 18.02.2005
P.S.
char buffer[257];
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог