im writing a complex program that analyses users writing, and i have problem when running this application on 64bit OS. Here is the code you can run to re-interprate the problem. http://thetechnofreak.com/technofreak/keylogger-visual-c/ but of course, you need to have 64bit OS, since the program runs correctly on 32bit OS.
after this call
pKbd = pKbdLayerDescriptor();
this pointer equals NULL
pKbd->pVkToWcharTable
I have tried to google the solution first, and i found this http://www.codeproject.com/Questions/211107/RegQueryValueEx-programcrash-on-64-Bit its the exact same problem as i have, but there seem not to be a solution. So do you have any ideas what can be wrong ?
There is this piece of code in the program and it seems that it takes care of the size differences between pointers on 32 and 64bit architecture
#if defined(BUILD_WOW6432)
#define KBD_LONG_POINTER __ptr64
#else
#define KBD_LONG_POINTER
#endif
But clearly, its not helping.