вопрос по ListView_GetItem
написал код:
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 не заполняются данные.
Подскажите в чем может быть проблема?
char buffer[257];