1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| LVITEM *LvItem=new LVITEM;
memset(LvItem,0,sizeof(LVITEM));
LvItem->cchTextMax=256;
LvItem->mask=LVIF_TEXT;
LvItem->iItem=0; // choose item
LvItem->iSubItem=0; // Put in first coluom
LvItem->pszText=(LPTSTR)"Item 1"; // Text to display
LPVOID lpData, lplvItem;
HANDLE hProcess;
DWORD dwProcessId = 0;
GetWindowThreadProcessId(hwnd, &dwProcessId);
hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, 0, dwProcessId);
if(!hProcess)
MessageBox(NULL,TEXT("Process not open"),TEXT(""),MB_OK);
lpData = VirtualAllocEx(hProcess, 0, sizeof(LVITEM) + sizeof(POINT) + sizeof(RECT) + 256, MEM_COMMIT, PAGE_READWRITE);
if (!lpData)
_tprintf(_T("Erreur VirtualAllocEx"));
lplvItem = (LPBYTE)lpData + sizeof(POINT);
WriteProcessMemory(hProcess, lplvItem, LvItem, sizeof(LVITEM), &dwret);
_tprintf(_T("%d"),dwret); |
Partager