① java 能不能獲取CPU的ID號,硬碟的序列號
public class CpuUtil {
public static void main(String[] args) throws IOException {
long start = System.currentTimeMillis();
Process process = Runtime.getRuntime().exec(
new String[] { "wmic", "cpu", "get", "ProcessorId" });
process.getOutputStream().close();
Scanner sc = new Scanner(process.getInputStream());
String property = sc.next();
String serial = sc.next();
System.out.println(property + ": " + serial);
System.out.println("time:" + (System.currentTimeMillis() - start));
}
}
public class DiskUtil {
public static String getSerialNumber(String drive) {
String result = "";
try {
File file = File.createTempFile("realhowto",".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
+"Set colDrives = objFSO.Drives\n"
+"Set objDrive = colDrives.item(\"" + drive + "\")\n"
+"Wscript.Echo objDrive.SerialNumber"; // see note
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
}
catch(Exception e){
e.printStackTrace();
}
return result.trim();
}
public static void main(String[] args) {
String sn = DiskUtil.getSerialNumber("C");
System.out.println(sn);
}
② java如何獲取本機主板序列號
public static String getMotherboardSN() {
String result = "";
try {
File file = File.createTempFile("realhowto", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_BaseBoard\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.SerialNumber \n"
+ " exit for ' do the first cpu only! \n" + "Next \n";
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec(
"cscript //NoLogo " + file.getPath());
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(result);
return result.trim();
}
public static void main(String[] args)
{
getMotherboardSN();
}
這個是我在網上找的,但是只能在windows下獲得主板序列號,在linux下就不行。我愁~在linux下如何獲得主板序列號呢。
③ linux怎麼查看cpu編號查詢
都在/proc/ 下面 cpu信息在/proc/cpuinfo 啟動時間在/proc/uptime 單位是s /proc/stat 裡面有cpu執行的時間,用戶態,系統態,空閑都有
④ linux java怎麼獲取cpu
參考一下吧,代碼在附件裡面,java自帶的
⑤ 怎樣用java 獲取 硬碟 cpu 序列號,可調用dll實現
我是通過一個外部的JAR包來間接來獲得DLL文件的句柄 的,它就是jacob了,這是java com brige的簡寫,呵呵, 這個名稱起得非常形象吧,我用的版本是jacob 1.9的,你可以到它的官方網站去下載,下載回來的壓縮包中會有兩個文件我們需要用到的,一個是jacob.dll,一個是jacob.jar,jacob.dll可以將它復制到系統的system32目錄下,而jacob.jar文件,直接將它加入到項目的庫中就可以了。這兩項准備工作完成後,就可以開始嘗試調用了。
新建一個類,引入jacob.jar中的兩個類,
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
然後通過dll的ControllerId來讀取DLL文件
public class Print {
private ActiveXComponent printController = null;
private Dispatch printObj = null;/*** 默認controllerId的方法*/public Print(){try{printController = new ActiveXComponent(POSControler.Controler);
printObj = (Dispatch)printController.getObject();
}catch(Exception e){
printObj = new Dispatch();
如果方法dll中的方法是空參數時,直接call一下就可以了,如
Dispatch.call(printObj,setDefaultFont);而調用有參數的方法時,則需要將參數在後面依次傳入,注意按順序噢:
⑥ Linux怎麼過去cpu的序列號
同樓上的,你執行這個命令需要root許可權,你這個返回是你的許可權不夠的意思。
⑦ 如何通過編程讀取CPU的序列號
java是可以獲取的但是比較麻煩但是還是感覺用C比較方便privatevoidGetInfo(){stringcpuInfo="";//cpu序列號ManagementClasscimobject=newManagementClass("Win32_Processor");ManagementObjectCollectionmoc=cimobject.GetInstances();foreach(ManagementObjectmoinmoc){cpuInfo=mo.Properties["ProcessorId"].Value.ToString();Response.Write("cpu序列號:"+cpuInfo.ToString());}//獲取硬碟IDStringHDid;ManagementClasscimobject1=newManagementClass("Win32_DiskDrive");=cimobject1.GetInstances();foreach(ManagementObjectmoinmoc1){HDid=(string)mo.Properties["Model"].Value;Response.Write("硬碟序列號:"+HDid.ToString());}//獲取網卡硬體地址=newManagementClass("Win32_NetworkAdapterConfiguration");=mc.GetInstances();foreach(ManagementObjectmoinmoc2){if((bool)mo["IPEnabled"]==true)Response.Write("MACaddress\t{0}"+mo["MacAddress"].ToString());mo.Dispose();}}只有Pentium3能夠讀取cpu的「序列號」,後來的cpu都沒有裝配這個信息。一般cpu只能讀取cpu的「信息」而不是「序列號」
⑧ Java如何獲取CPU標識符
可嘗試通過System.getProperties() 這類API獲取:
System.getProperty("os.arch") -- cpu架構 ,如x86
os.name --如Windows XP
os.version -- 操作系統版本號
如果還無法滿足,可以根據系統的不同,利用Runtime入口去執行命令來獲取,比如:
linux 下 可以執行如:
Runtime.getRuntime().exec("cat /proc/cpuinfo |grep vender_id");
之類的語句進行獲取
⑨ 如何獲取cpu序列號
一、CPU都有一個唯一的ID號,稱CPUID,是在製造CPU的時候,由廠家置入到CPU內部的。
二、查看方法:
1、右點開始,選運行,並輸入CMD。
三、作用和意義:
由於CPU外在的所有標記、符號,都是可以人為打磨,而CPUID卻是終身不變的,只能用軟體讀出ID號;因此,利用這個原理,CPU ID工具可以顯出CPU的確切信息,包括移動版本、主頻、外頻、二級緩存等關鍵信息,從而查出超頻的CPU,並且醒目地顯示出來。
⑩ linux下java怎麼獲取CPU和硬碟序列號
JDK 目錄 jdk1.6.0_21\demo\management\MemoryMonitor 位置 jar demo源碼自參考