Win32API質問箱 Build39
■ このスレッドは過去ログ倉庫に格納されています
0455432
2006/01/17(火) 21:38:43次のコードだと、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);
■ このスレッドは過去ログ倉庫に格納されています