有个软件是.net 写的。我想获取列表控件上的文本内容。列表控件的类名是:WindowsForms10.Window.8.app.0.33c0d9d
问题1:WindowsForms10.Window.8.app.0.33c0d9d类是CListView类吗,跟CListCtrl什么关系。
问题2:我用SendMessage(hwnd,LVM_GETITEMCOUNT,0.0) 也没办法得到子控件的数量。
问题3:怎么样才能得到表格里的文本。
下面是我网上抄的一段代码获取列表文本。
{
//itoa(iItem,temp,10);
//MessageBox(NULL,temp,"iItem",NULL);
GetWindowThreadProcessId((HWND)0x2901b0, &PID);
hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, PID);
if (!hProcess)
MessageBox(NULL, "获取进程句柄操作失败!", "错误!", NULL);
else
{
plvitem = (LVITEM*)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
pItem = (char*)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE);
if ((!plvitem) || (!pItem))
MessageBox(NULL, "无法分配内存!", "错误!", NULL);
else
{
lvitem.cchTextMax = 512;
lvitem.iSubItem = 1; //ProcessName
//lvitem.mask = LVIF_TEXT;
lvitem.pszText = pItem;
WriteProcessMemory(hProcess, plvitem, &lvitem, sizeof(LVITEM), NULL);
SendMessage((HWND)0x2901b0, LVM_GETITEMTEXT, (WPARAM)1, (LPARAM)plvitem);
GetLastError();
ReadProcessMemory(hProcess, pItem, ItemBuf, 512, NULL);
MessageBox(NULL, ItemBuf, "ItemBuf", NULL);
}
}
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课