JNI实现监听全局鼠标事件,钩子需编译成64位dll,但在CodeBlocks下编译出是32位的,用VS编译显示“发现重复定义”


在做一个程序,鼠标右键按下时记录鼠标坐标,右键释放时停止记录。
按照 http://dengpeng.sensorapp.net/?p=495 的方法做了一个钩子,在Code::Blocks下编译通过,但在Eclipse下调用时显示:

Eclipse错误提示
(Code::Blocks已在编译属性里勾选上AMD64选项:

CodeBlocks设置
);又用VS 2010编译,显示错误:

vs错误提示

vs设置
我对于JNI不太熟悉,请教各位我应该如何修改?为什么CodeBlocks编译通过了而VS显示“发现重复定义”?
提前感谢!

另外:如果想用Java监听全局鼠标事件,还有没有除此之外更简便的方法?

java dll

就和你赖皮 11 years, 10 months ago

此问题已解决。
我IDE用得不熟,一开始在VS里建的是MFC项目(有自己的DllMain入口),后来建Win32 DLL也不行,只好强制指定了一个空DLL。VS的选项和随便添加的东西实在太多了。

白纸傲娇君 answered 11 years, 10 months ago

Your Answer