Hello all. I have a dll which gets injected into a process and subclasses it's window procedure. Great! Now, I'm trying to make the same thing work for any windows with a caption in the system.

g_hHook = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, g_hInst, 0);

In DLL Main, I'm doing a beep to make sure that the dll gets attached to new processes:

case DLL_PROCESS_ATTACH:
MessageBeep(0);
break;

For most windows, this works fine. I can open up a dozen Notepads, Calculators, otehr programs I wrote, and they all ding.

For some programs, Explorer, MS Developer Studio, IE, Help windows, there's no ding.

Any suggestions on why the dll gets attached to some processes and not others?

Thanks,

-Joe