在发布新版的MYPM时,加密要用到相关硬件信息,于是写了下面的测试类
运行main 打印信息如下图
需要引用的包sigar-1.6.3.jar
及相关动态库 测试时我加载了sigar自带所有动态库
详见main方法内
package cn.com.mypm.common.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.SigarLoader;
import org.hyperic.sigar.cmd.Shell;
import org.hyperic.sigar.cmd.SigarCommandBase;
public class CpuInfo extends SigarCommandBase {
public boolean displayTimes = true;
public CpuInfo(Shell shell) {
super(shell);
}
public CpuInfo() {
super();
}
public String getUsageShort() {
return "Display cpu information";
}
private void output(CpuPerc cpu) {
println("User Time....." + CpuPerc.format(cpu.getUser()));
println("Sys Time......" + CpuPerc.format(cpu.getSys()));
println("Idle Time....." + CpuPerc.format(cpu.getIdle()));
println("Wait Time....." + CpuPerc.format(cpu.getWait()));
println("Nice Time....." + CpuPerc.format(cpu.getNice()));
println("Combined......" + CpuPerc.format(cpu.getCombined()));
println("Irq Time......" + CpuPerc.format(cpu.getIrq()));
if (SigarLoader.IS_LINUX) {
println("SoftIrq Time.." + CpuPerc.format(cpu.getSoftIrq()));
println("Stolen Time...." + CpuPerc.format(cpu.getStolen()));
}
println("");
}
public void output(String[] args) throws SigarException {
org.hyperic.sigar.CpuInfo[] infos = this.sigar.getCpuInfoList();
CpuPerc[] cpus = this.sigar.getCpuPercList();
org.hyperic.sigar.CpuInfo info = infos[0];
long cacheSize = info.getCacheSize();
println("Vendor........." + info.getVendor());
println("Model.........." + info.getModel());
println("Mhz............" + info.getMhz());
println("Total CPUs....." + info.getTotalCores());
if ((info.getTotalCores() != info.getTotalSockets()) || (info.getCoresPerSocket() > info.getTotalCores())) {
println("Physical CPUs.." + info.getTotalSockets());
println("Cores per CPU.." + info.getCoresPerSocket());
}
if (cacheSize != Sigar.FIELD_NOTIMPL) {
println("Cache size...." + cacheSize);
}
println("");
if (!this.displayTimes) {
return;
}
for (int i = 0; i 0)
sb.append("第一个网卡号="+sigar.getNetInterfaceConfig(interfaces[0]).getHwaddr());
org.hyperic.sigar.FileSystem[] filesystems = sigar.getFileSystemList();
if(filesystems!=null || filesystems.length>0)
sb.append("\n"+"硬盘第一个分区的卷标="+getHDSerial(filesystems[1].getDevName()));
System.out.println(sb.toString());
}
public static void main(String[] args) throws Exception {
//先加载siga动太库在不同的平台只要加载特定的动态库,这里我就全加载不区分了
//在IDE环境中,可以不加载动态库 设置natinve lib patch location 既可
File nativeDir = new File("E:\\mypm10_new\\mypmdoc\\WebRoot\\WEB-INF\\native");
File[] libs = nativeDir.listFiles();
for (int i = 0; i
- 大小: 27.8 KB
分享到:
相关推荐
c#获取网卡MAC地址,主板信息,CPU序列号,硬盘卷标……代码....................................................
CPU都有一个唯一的ID号,称CPUID,是在制造CPU的时候,由厂家置入到CPU内部的。
摘要:VB源码,系统相关,硬盘,卷标 VB编写的一个与硬盘属性信息读取的小程序,硬盘信息的显示与卷标的设定,调用GetVolumeInformation函数,获得所选盘符的卷标、分区格式信息,变量i的值在大写字母A到大写字母Z...
用C++封装好的一个类,用来读取硬盘序列号、驱动类型、卷标等。
一款修改硬盘卷标序列号的工具,修改后重新启动系统生效。
方便修改硬盘分区序列号,win10可用。
根据计算机的 CPU 序列号和硬盘卷标来制作一个简单的 软件注册机。运行本实例,首先在窗体的文本框中显示机器码,单击 “生成注册码”按钮,根据生成的机器码自动生成 24 位注册码。 主要使用 ManagementClass 类的 ...
根据CPU序列号和磁盘卷标制作软件注册机,C#程序代码,CPU,硬盘。。。。。。的序列号绑定
接口名称、IP地址、子网掩码、MAC地址 网络状态、网络发送/接收速度、最大发送/接收速度 驱动器,卷标 磁盘使用率、可用空间、总容量、利用率、可用率 磁盘存取速度、硬盘型号、硬盘温度 剩余电量,剩余时间 ...
U盘、移动存储、硬盘设备只读属性设置Delphi代码,获取网卡、硬盘、CPU硬件信息,获取硬盘驱动器信息。同时还有机器码和序列号相关模块示例,U盘保护等。参数: Drive 驱动器盘符 如C、D、E,不要带 :\ InfoID...
获取硬盘序列号(不是卷标)。使用时把hdserialnumread.dll拷到windowssystem目录里
获取计算机MAC、硬盘ID、操作系统等信息的ActiveX库 示例程序: <TITLE>ClientInfoX JavaScript Sample xo=new ActiveXObject("ClientInfo.HostInfo") ////////////////////////////////////////////////// //...
VB编写的一个与硬盘属性信息读取的小程序,硬盘信息的显示与卷标的设定,调用GetVolumeInformation函数,获得所选盘符的卷标、分区格式信息,变量i的值在大写字母A到大写字母Z之间,下拉列表框动态加载数据。
非常不错的软件,查看硬盘物理序列号和卷标序列号。
如何获取硬盘卷标、序列号和文件系统类型?VB技术很实用的源码本人收集了一些技巧供大家参考,希望斑竹能多放一些时间。按字母或数字顺序排列列表框中的列表项. 将以下代码加入到你的程序中.
精彩编程与编程技巧-如何获取硬盘卷标、序列号和文件系统类型? ...
给每个盘添加卷标给每个盘添加卷标给每个盘添加卷标
C#中如何获取磁盘卷标
电脑硬件信息 硬盘 CD-ROM USB 添加自己的属性 用C#和WMI获取逻辑驱动器详细信息 获取磁盘信息的API函数来分别获取像卷标、序列号以及剩余空间等信息 .Net框架System.Management 命名空间的相关类和WMI编程