有没有办法取得其他应用程序中表格里的数据。
比如说是一个VB程序里的表格(MSHFlexGrid)。
希望大家都能够参与提供思路。
比如说是一个VB程序里的表格(MSHFlexGrid)。
希望大家都能够参与提供思路。
解决方案 »
- SO_LINGER选项只能处理发送?那么接受呢?
- 请问怎么建立一个最简单的程序?
- 字符串匹配
- 求救:如何去掉动态创建ctreectrl的滚动条?
- “通常每个套接字地址 (协议/网络地址/端口)只允许使用一次”问题求助
- AS/400 数据库,想在VC中使用ADO访问,详细情况请进(100分,急!!!!!!!!!!!!!!!!!!!!!)
- 高手解释一下,马上结贴
- 分太多了,散分~ VC技术内幕第四版和第五版到底有什么不同?
- 串口技术二疑点大展望?---- 串口编程者一定要看。
- ●●●●●数据库添加新记录的问题●●●●
- 大家说常量定义在CPP中,还是.h中
- 方便快捷的RFC文档阅读器v1.0.0.1
用FindWindow取得MSHFlexGrid所在的窗口的句柄
通过窗口句柄再用FindWindowEx获得MSHFlexGrid的句柄HWND hWnd = (HWND)0x000C0532; //ListCtrl的句柄
DWORD dwProcess;
HANDLE hProcess;GetWindowThreadProcessId(hWnd, &dwProcess);char buf[1024];
LVITEM* pItem = (LVITEM*)buf;
// 申请内存
hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwProcess);
LPLVITEM pTemp = (LPLVITEM)VirtualAllocEx(hProcess, 0, 1024, MEM_COMMIT, PAGE_READWRITE); memset(pItem, 0, sizeof(buf));pItem->pszText = (char*)((char*)pTemp + sizeof(LVITEM));
pItem->cchTextMax = 1024 - sizeof(LVITEM);
pItem->iSubItem = 0; //第幾列
pItem->mask = LVIF_TEXT;DWORD dWord = 0;
WriteProcessMemory(hProcess, pTemp, pItem, sizeof(buf),&dWord);::SendMessage(hWnd,
LVM_GETITEMTEXT,
(WPARAM)1, //第幾行
(LPARAM)pTemp);// 读数据
ReadProcessMemory(hProcess, pTemp, pItem, sizeof(buf),&dWord);
pItem->pszText = (char*)((char*)pItem + sizeof(LVITEM));
// 释放内存
VirtualFreeEx(hProcess, pTemp, 1024, MEM_RELEASE);
CloseHandle(hProcess);希望楼主能从这段代码中得到一点启发!
may you succeed !