JNI监听全局鼠标钩子dll用VS编译显示发现重复定义,如何修改

发布于 2022-08-24 12:35:14 字数 901 浏览 12 评论 0

在做一个程序,鼠标右键按下时记录鼠标坐标,右键释放时停止记录。
按照http://dengpeng.sensorapp.net/?p=495 的方法做了一个钩子,在Code::Blocks下编译通过,但在Eclipse下调用时显示:
es.png
(Code::Blocks已在编译属性里勾选上AMD64选项:
cbsetting.png
);又用VS 2010编译,显示错误:
vs.png
vssetting.png

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沒落の蓅哖 2022-08-31 12:35:14

1. -march参数不影响目标文件是否为64位(主要影响指令集,比如SSE, 3DNOW支持),-m32-m64 这两个参数才与是否生成32位或64位程序有关。你需要使用64位的MinGW编译器(可以使用这个发行版: http://tdm-gcc.tdragon.net/)。另外,还需要配置一下Code::Blocks使用64位的编译器。

2. MFC DLL不该有DllMain入口(MFC有自己的),请不要在DLL中使用MFC(你提供的例子完全不需要用MFC)。绕过该限制的方法也有,参考: http://support.microsoft.com/kb/14879...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文