如果需要C#版的,可以看下我之前写的:C#如何获取其他程序ListView控件中的内容
获取其他进程的数据需要使用到以下几个函数:
- VirtualAllocEx()
- VirtualFreeEx()
- WriteProcessMemory()
- ReadProcessMemory()
以获取任务管理器中的进程列表为例,运行结果如下:
关键代码
HANDLE hProcess;
LVITEM *pointer;
HWND hwnd,hListview;
int headerhwnd; //listview控件的列头句柄
int rows,cols; //listview控件中的行列数
DWORD ProcessID = NULL;
DWORD ThreadID = NULL;
hwnd = (HWND)::FindWindow(_T("#32770") , _T("Windows 任务管理器"));
hwnd = (HWND)::FindWindow