代碼如下:但怎么弄都無法獲得listview的指定位置數值,請高手幫幫我,謝謝了。
//跨行程獲取虛擬ListView控制元件的內容
void List_GetItemTextVirtual(HWND hWnd,int row,int clo,char* pSave,int sz)
{
DWORD dwProcess;
HANDLE hProcess;
NMLVDISPINFO Info;
pSave[0] = '\0';
GetWindowThreadProcessId(hWnd, &dwProcess);
// 申請記憶體
hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwProcess);
NMLVDISPINFO* pTemp = (NMLVDISPINFO*)VirtualAllocEx(hProcess, 0, sizeof NMLVDISPINFO, MEM_COMMIT, PAGE_READWRITE);
if(0==pTemp)
{
MessageBox(0,"虛擬記憶體分配失敗",0,MB_OK);
}
memset(&Info,0,sizeof Info);
Info.hdr.hwndFrom=hWnd;
Info.hdr.code=LVN_GETDISPINFO;
Info.item.mask=LVIF_TEXT;
Info.item.iItem=row;
Info.item.iSubItem=clo;
Info.item.cchTextMax=sz;
Info.item.pszText=pSave;
DWORD dWord = 0;
WriteProcessMemory(hProcess, pTemp, &Info, sizeof NMLVDISPINFO, &dWord);
int nChar = SendMessage(GetParent(hWnd),WM_NOTIFY,(WPARAM)GetDlgCtrlID(hWnd), (LPARAM)pTemp);
// 讀資料
ReadProcessMemory(hProcess, pTemp, &Info, sizeof NMLVDISPINFO, &dWord);
// 釋放記憶體
VirtualFreeEx(hProcess, pTemp, sizeof NMLVDISPINFO, MEM_RELEASE);
CloseHandle(hProcess);
sprintf(pSave, "%s", Info.item.pszText);
}
uj5u.com熱心網友回復:
以前寫過,FYIhttp://blog.csdn.net/l357630798/article/details/62417698
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/91100.html
標籤:界面
上一篇:請教如何制作程式安裝包
