预览版仅提供的数据预览功能,不支持数据复制,数据导出等功能(程序中没有该部分代码)。
image.png (395.2 KB, 下载次数: 0)
下载附件
2024-1-15 17:48 上传
因为程序是MFC开发的,采用读取数据列表方式读取数据,然后自己编写导出功能(仅提供思路)。
1.采用spy++获取窗口句柄及类名
image.png (67.67 KB, 下载次数: 0)
下载附件
2024-1-15 17:46 上传
可以看到数据列表为类名SysListView32
2.编写程序获取列表中数据。关键代码如下:
//1、首先获取窗口句柄
HWND MMEWindow = FindWindow(NULL, L"数据库修复取证大师Sql Extractor[预览版] V10.96");
HWND MMEListView1 = FindWindowEx(MMEWindow, NULL, L"AfxFrameOrView80su", L"");
//2、通过父窗口句柄获取SysListView32控件的句柄
HWND MMEListView = FindWindowEx(MMEListView1, NULL, L"SysListView32", L"");
//3、获取SysListView32控件pid
DWORD MMEListViewPid;
GetWindowThreadProcessId(MMEListView, &MMEListViewPid);
//4、打开进程,返回进程句柄
HANDLE MMEListViewProcess = OpenProcess(PROCESS_ALL_ACCESS, false, MMEListViewPid);
//5、获取表格总的数量
int count = (int)SendMessage(MMEListView, LVM_GETITEMCOUNT, 0, 0); //使用int count = ListView_GetItemCount(hwnd);效果相同
cout
image.png (85.88 KB, 下载次数: 0)
下载附件
2024-1-15 17:51 上传
这样通过外挂方式实现了功能补全。