Hi: try taking out the mx =callnexytHookEx line you return this hook anyway wihich is corect. you do not need this line. Sean. ________________________________ From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Littlefield, Tyler Sent: 13 December 2007 19:09 To: programmingblind@xxxxxxxxxxxxx Subject: hooks help Hello, I've got an issue. I wrote a keyboard hook, and it seems to be working, though I don't think I wrote the hook proc right. Help would be awesome. /*hook procedure*/ LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam) { LRESULT mx; mx=(CallNextHookEx(NULL, code,wParam,lParam)); if (mx==HC_ACTION) { Print((char)wParam); return (CallNextHookEx(NULL, code,wParam,lParam)); } /*hook code end*/ I use print, just to print the code to a file, but convert it. Thanks, Tyler Littlefield Vertigo head coder. "I can only please one person per day; Today doesn't seem like your day, and tomorrow doesn't look to promising either." "A life? Where can I download that at?" Contact information: email: tyler@xxxxxxxxxxxxx skype: st8amnd127 aim: st8amnd2005 msn: tyler@xxxxxxxxxxxxx