windows c语言 sata 序列号,在windows x64系统下读取sata硬盘序列号

在上一篇文章中我们提到如何使用jni在windows环境中读取硬盘序列号。然而,原有的代码,并不能有效地读取sata硬盘信息,并且在x64环境下也不能工作。所以,我们需要一种新的读取硬盘序列号的方法。

最终,经过笔者寻找,发现终于有一个有效地同时能够读取sata硬盘的c++代码,该代码的源地址为:

此代码能够在x86以及x64位平台下很好地工作。当然,仅是一段读取硬盘信息的代码,此处有详细的使用代码。可以下载以使用。

那么,在java中, 我们可以使用这段代码,分别编译出两个版本的dll文件,一个定义为acx86.dll,另一个定义为acx64.dll。这样在项目启动时,我们就可以根据当前jvm的版本(为什么不是windows版本,而是jvm版本,自己想),来选择加载不同的dll。那么,如何判断当前jvm版本呢,以下代码可以达到:

属性值sun.arch.data.model,当在32位jvm时,将返回32; 而在64位jvm时,返回64。这样就可以分别加载不同的dll了。

以上代码(包括c++和java)均已在本机测试通过(windows xp x64版本,jdk32位和64位)。

相关文章:

作者: flym

I am flym,the master of the site:)查看flym的所有文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值