即時編寫分析用戶寫入的複雜程序,並且在64位操作系統上運行此應用程序時遇到問題。 以下是您可以運行以重新解決問題的代碼。 http://thetechnofreak.com/technofreak/keylogger-visual-c/ 但當然,您需要有64位操作系統,因爲該程序在32位操作系統上正確運行。KbdLayerDescriptor在64位體系結構中返回NULL
此調用
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
但顯然,它沒有幫助。
你實際使用KBD_LONG_POINTER?需要。 –
我使用了我發佈的第一個鏈接中使用的聲明 - kbdext.h –
問題是您將pVkToWchars成員的類型更改爲64位指針。 –