Здравствуйте, nnoobb, Вы писали:
N>dll давно написана и все на ней работает, вопрос — как без dll.
N>Но вот какая проблема (собственно почему и хочется без нее) при установку hook происходит загрузка dll (или какой-то информации о dll) во все процессы системы. (я так думаю!) Хотя скорее всего я ошибаюсь, прошу меня поправить и втолковать как оно есть на самом деле или дать соответствующий линк.
Ошибаетесь

В SetWindowsHookEx есть параметр — Thread ID — если он равен нулю, то действительно подгрузится везде. Но если его указать, то только в то приложение в котором этот thread бежит.
Получить ThreadId по HWND можно через функцию
DWORD GetWindowThreadProcessId( HWND hWnd,
LPDWORD lpdwProcessId
);