使用C枚举SysListView32项

时间:2012-12-12 00:14:35

标签: c sendmessage syslistview32

我发现的所有例子都与C#有关,但我对它并不熟悉。 我的任务是为测试提供某种自动化。我有安装程序,第一个按钮在SysListView32内部,我可以理解 我的目标是选择它们,按名称选择按钮并单击它 最后一部分是显而易见的:

GetWindowText(control, window_name, 256);
if(strcmp.....
{
do smth
}

但是当涉及到SysListView32时,我无法理解如何在C中提取其对象和名称

1 个答案:

答案 0 :(得分:1)

看看LVM_GETITEM。 MSDN文档页面位于:http://msdn.microsoft.com/en-us/library/windows/desktop/bb774953(v=vs.85).aspx。文档实际上非常详尽。

一个简短的例子,它将检索“lParam”,图标的图像列表索引和项目的文本:

LVITEM lvItem;
TCHAR szBuffer[MAX_PATH + 1] = { 0 };

lvItem.mask       = LVIF_PARAM | LVIF_IMAGE | LVIF_TEXT;
lvItem.iItem      = iItem;
lvItem.iSubItem   = 0;
lvItem.pszText    = szBuffer;
lvItem.cchTextMax = MAX_PATH;

if(ListView_GetItem(m_hListView,&lvItem))
{
    /* success! the item details are in lvItem */ 
}