我正在编写一个分析用户写作的复杂程序,在 64 位操作系统上运行此应用程序时遇到问题。这是您可以运行以重新解释问题的代码。 http://thetechnofreak.com/technofreak/keylogger-visual-c/ 当然,你需要有 64 位操作系统,因为程序可以在 32 位操作系统上正确运行。
在这个电话之后
pKbd = pKbdLayerDescriptor();
此指针等于 NULL
pKbd->pVkToWcharTable
我试图先用谷歌搜索解决方案,我发现这个 http://www.codeproject.com/Questions/211107/RegQueryValueEx-programcrash-on-64-Bit 它与我的问题完全相同,但似乎没有成为一个解决方案。那么你有什么想法可能是错的吗?
程序中有这段代码,它似乎处理了 32 位和 64 位架构上指针之间的大小差异
#if defined(BUILD_WOW6432)
#define KBD_LONG_POINTER __ptr64
#else
#define KBD_LONG_POINTER
#endif
但很明显,它没有帮助。