变量名 | 类 型 | 静态 | 数组 | 备 注 | hWin | 整数型 | | | hList | 整数型 | | | dwPid | 整数型 | | | hProcess | 整数型 | | | hMem | 整数型 | | | lpData | 字节集 | | | ListHeadHwnd | 整数型 | | | ListHwnd | 整数型 | | | ItemCount | 整数型 | | | ListItemCount | 整数型 | | | Item | LVITEM | | | pItem | 整数型 | | | ItemBuf | 字节集 | | |
hWin = FindWindowA (字符 (0 ), “测试程序”)ListHwnd = FindWindowExA (hWin, 0, “SysListView32”, 字符 (0 )) GetWindowThreadProcessId (ListHwnd, dwPid )如果真 (dwPid = 0 )信息框 (“没有发现进程”, 0, , )返回 ()hProcess = OpenProcess (位或 (8, 16, 32, 1024 ), 假, dwPid )如果真 (hProcess ≠ 0 )ListHeadHwnd = SendMessageA (ListHwnd, #LVM_GETHEADER, 0, 0 ) ItemCount = SendMessageA (ListHwnd, #LVM_GETITEMCOUNT, 0, 0 ) ListItemCount = SendMessageA (ListHeadHwnd, #HDM_GETITEMCOUNT, 0, 0 ) 输出调试文本 (“总列数为:” + 到文本 (ItemCount ) + “ 列表头句柄:” + 到文本 (ListHeadHwnd ) + “ 列表列数为:” + 到文本 (ListItemCount )) hMem = VirtualAllocEx (hProcess, 0, 1024, 4096, 4 ) 如果真 (hMem ≠ 0 )Item.iSubItem = 1 Item.cchTextMax = 512 pItem = VirtualAllocEx (hProcess, 0, 512, 4096, 4 ) Item.pszText = pItem lpData = 到字节集 (Item.iSubItem ) + 到字节集 (Item.cchTextMax ) + 到字节集 (Item.pszText ) 如果真 (WriteProcessMemory (hProcess, hMem, 取变量数据地址 (lpData ), 取字节集长度 (lpData ), 0 )) 调试输出 (SendMessageA (ListHeadHwnd, #LVM_GETITEMTEXT, 1, 取变量数据地址 (hMem )) ) VirtualFreeEx (hProcess, pItem, 0, 32768 )VirtualFreeEx (hProcess, hMem, 0, 32768 )CloseHandle (hProcess )
另外付一张消息参数图片
本人实在是刚学习编程,不太懂,请大神帮忙解决下,VC当中可以直接使用结构体指针,但是在易当中真的不知道该如何构造消息参数,大神救命啊
附件已经发上去了,最好大神帮忙给个例子,毕竟用消息可以解决很多问题.
|