またハマってしまいました。昨日と同じ要領でリストビューのアイテムを選択状態にしたいのですが、
次のコードだと、SendMessageが失敗を返してきます。
メモリの確保まではいってるんですが、何かアドバイス願います。

LVITEM lvItem;
LRESULT lResult = FALSE;
DWORD dwProcessId = 0;
HANDLE hProcess;
i iItem = 3;

ZeroMemory(&lvItem, sizeof(LVITEM));
lvItem.mask = LVIF_STATE;
lvItem.state = LVIS_SELECTED;
lvItem.iItem = iItem;
lvItem.iSubItem = 0;
lvItem.stateMask = LVIS_SELECTED;

GetWindowThreadProcessId(hListView, &dwProcessId);
hProcess = OpenProcess( PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, FALSE, dwProcessId);

if ( hProcess ) {
LVITEM *pvlvi = (LVITEM *)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
::WriteProcessMemory(hProcess, pvlvi, &lvItem, sizeof(LVITEM), NULL);
lResult = (int)::SendMessage(hListView, LVM_SETITEM, 0, (LPARAM)pvlvi);