Как получить WNDPROC у стороннего окна?

laki

Есть HWND.
делаю
DWORD dwMultiListWndProc = GetWindowLong(hWnd, GWL_WNDPROC);
GetLastError говорит:
"failed with error 5: Access is denied."
Как запуститься так чтобы все замечательно было?

otets-mihail

Стороннего это какого?
Другого процесса?

evgen5555

Даже если адрес процедуры возвращался бы без ошибок, ничего бы это не дало У каждого процесса свое адресное пространство.

psm-home

Если окно принадлежит другому процессу, как уже предположил , то вроде как тебе не дадут узнать адрес его WNDPROC. Надо загружать код в адресное пространство процесса, который родил интересующее тебя окно. Либо глобальный хук (SetWindowsHookEx либо OpenProcess/VirtualAllocEx /WriteProcessMemory/CreateRemoteThread, либо ключик AppInit_DLLs в реестре.

laki

дада чето я ступил. забыл про адресное пространство. спасибо.
Оставить комментарий
Имя или ник:
Комментарий: