一个简单的程序,不知道可以不可以。。
<<
public class Test {
public static void main(String[] args) {
System.out.println("主机,告诉我MAC地址!");
System.out.println("主机,告诉我CPU序列号!");
System.out.println("主机,告诉我硬盘序列号!");
System.out.println("不说的话拆了你丫的");
}
}
>>
<<
public class Test {
public static void main(String[] args) {
System.out.println("主机,告诉我MAC地址!");
System.out.println("主机,告诉我CPU序列号!");
System.out.println("主机,告诉我硬盘序列号!");
System.out.println("不说的话拆了你丫的");
}
}
>>
String str="";
String macAddress="";
try {
Process pp= Runtime.getRuntime().exec ("nbtstat -A " + remotePcIP);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
for (int i = 1; i <100; i++)
{
str=input.readLine();
if (str!=null)
{
if(str.indexOf("MAC Address")>1)
{ macAddress=str.substring(str.indexOf("MAC Address")+14,str.length());
break;
}
}
}
}
catch (IOException ex) {}
return macAddress;
}
/**
* MacAddress.java.
*
*/
import java.io.*;/**
*获得本机MAC地址.
*
*通过运行'ipconfig /all' Windows系统命令获得。
*/
public class MacAddress
{
public static void main(String[] arg)
{
String macaddress ;
MacAddress mac = new MacAddress();
System.out.println(mac.getMac());
}
/**
*取得本机 MAC Address.
*/
public static String getMac()
{
String mac;
String netdata="";
try
{
java.lang.Process proc = Runtime.getRuntime().exec("ipconfig /all");
InputStream istr = proc.getInputStream();
byte[] data = new byte[1024];
istr.read(data);
netdata = new String(data);
}
catch(IOException e)
{
System.out.println("error="+e);
}
return mac = procAll(netdata);
}
/*
*处理 ipconfig /all 返回的字符串.
*@param str 'ipconfig /all' 返回的字符串
*/
private static String procAll(String str)
{
return procStringEnd(procFirstMac(procAddress(str)));
}
/*
*去掉 MAC Address 之前的字符.
*@param str 'ipconfig /all' 返回的字符串
*/
private static String procAddress(String str)
{
int indexof = str.indexOf("Physical Address");
if(indexof>0)
return str.substring(indexof,str.length());
return str;
}
/*
*获得 MAC Address 的开始位置.
*@param str procAddress 返回的字符串
*/
private static String procFirstMac(String str)
{
int indexof = str.indexOf(":");
if(indexof>0)
return str.substring(indexof+1,str.length()).trim();
return str;
}
/*
*获得 MAC Address 的结束位置.
*@param str procFirstMac 返回的字符串
*/
private static String procStringEnd(String str)
{
int indexof = str.indexOf("\r");
if(indexof>0)
return str.substring(0,indexof).trim();
return str;
}
}
MAC地址如你所言,俺也只想到解析别的命令输出结果
不过对于不同的系统区别对待就是了。。比如windows用ipconfig /all。。
而unix一般用ifconfig
就可以利用在java中的runtime类来是实现执行后提取就是那!
CPU序列号、硬盘序列号呢?
>>
这个看来可以用俺的方法了哈哈哈哈
你还真是搞笑哈