- void CTestDlg::InitDlg()
- {
- CListCtrl *pList = static_cast<CListCtrl*>(GetDlgItem(IDC_LIST1));
- if (pList == NULL)
- {
- AfxMessageBox("not found");
- return;
- }
- pList->SetExtendedStyle(pList->GetExtendedStyle() | LVS_EX_FULLROWSELECT);
- pList->InsertColumn(0, _T("title"), LVCFMT_LEFT, 80);
- pList->InsertColumn(1, _T("comment"), LVCFMT_LEFT, 80);
- pList->InsertColumn(2, _T("credit"), LVCFMT_LEFT, 80);
- pList->InsertItem(0, _T("abc"));
- pList->SetItemText(0, 1, _T("def"));
- pList->SetItemText(0, 2, _T("fss"));
- pList->InsertItem(1, _T("xx"));
- pList->SetItemText(1, 1, _T("yy good"));
- pList->SetItemText(1, 2, _T("zz"));
- }
- void CTestDlg::OnBtnGet()
- {
- CPoint pt;
- GetCursorPos(&pt);
- HWND hWnd = ::WindowFromPoint(pt);
- /*
- // 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 = 1; //第幾列
- pItem->mask = LVIF_TEXT;
- DWORD dWord = 0;
- WriteProcessMemory(hProcess, pTemp, pItem, sizeof(buf),&dWord);
- ::SendMessage(hWnd,
- LVM_GETITEMTEXT,
- (WPARAM)2, //第幾行
- (LPARAM)pTemp);
- // 读数据
- ReadProcessMemory(hProcess, pTemp, pItem, sizeof(buf),&dWord);
- pItem->pszText = (char*)((char*)pItem + sizeof(LVITEM));
- AfxMessageBox(pItem->pszText);
- // 释放内存
- VirtualFreeEx(hProcess, pTemp, 1024, MEM_RELEASE);
- CloseHandle(hProcess);
- */
- CEdit *pEdit = (CEdit *)(CWnd::FromHandle(hWnd));
- CString str;
- pEdit->GetWindowText(str);
- AfxMessageBox(str);
- }
获得鼠标所指的窗口的内容
最新推荐文章于 2021-05-23 14:41:00 发布