Hi !
Moim marzeniem jest założenie globalnego hooka który odbierał by pewne eventy nt. okien, chodzi tu o hooka CBT.
Hook jest ładowany i aplikowany pomyslnie (z dll'ki) problem polega jednak na tym, że zbiera informacje wyłącznie z okna (z procesu), z którego został założony.
Kod wydaje sie być poprawny, no ale skoro nie działa to znaczy że gdzieś ktoś pogrzebał w nim psa.
if(RegisterShellHookWindow(window.hwnd) == FALSE)
MessageBox(0, "ojee", "", 0);
HMODULE module = LoadLibrary("windowHookDLL.dll");
procAdress = (HOOKPROC)GetProcAddress(module, "_Proc@12");
HHOOK ret = SetWindowsHookEx(WH_CBT, procAdress, module, 0);
NewParent(window.hwnd);
To jeszcze może kod z dll'ki
LRESULT CALLBACK Proc(int nCode, WPARAM wParam, LPARAM lParam)
{
if(parent != 0)
{
if(nCode == HCBT_CREATEWND)
SendMessage(parent, WM_NEWWINDOW, wParam, lParam);
if(nCode = HCBT_DESTROYWND)
SendMessage(parent, WM_CLOSINGWINDOW, wParam, lParam);
}
}
parent - to uchwyt okna do którego docelowo mają być wysyłane komunikaty z systemu, określany funkcją NewParent();
Jakieś pomysły, sugestie ?