declared variables at beginning of scope (ansi c), so visualstudio doesnt throw errors.
renamed node variable, so it doesnt conflict with keyword new.
Fixing error with RegisterShellHookWindowProc.
This function is available in the windows headers now. So we can call it directly.
I guess this wasn't the case with older versions of Windows, so i still get the function through the dll but renamed it, for compatibility。
returning the correct type