hail 发表于 2013-2-7 03:46:50

JNI方式获取windows设备事件

一直考虑直接用Java监视系统设备变化事件没啥结果,先前使用另外一个MFC程序实现了一个,通过文件交换事件信息,今天研究JNI,做出了一个可用的版本!
最开始写了一个测试类,生成.h文件后,实现了一个空函数,仅返回结果,编译调用后发现可以运行,但如何让这个dll能截获windows的事件,是一件比较复杂的事情,本身对win32编程了解比较少,一直都是使用MFC,但在DLL中使用MFC创建窗体等部件比较麻烦!
在Google上搜索一番,找到一个使用Win32 API创建窗体的代码,稍加修改就可以测试通过,放到测试代码里面时,可以正常返回所需要的消息!
将代码移到正式项目中时,一直报UnsatisfiedLinkError,后来重新使用项目中生成的class文件来生成.h文件,发现java可能是使用函数名标识相应的函数位置,这就是一直报错的原因,调整后重新编码,测试通过!
那一刻,感觉很不错!
页: [1]
查看完整版本: JNI方式获取windows设备事件