java swing获取硬盘序列号
源代码如下
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* 获取硬盘序列号Demo
*
* @author Champ.Ping
*/
public class MainView extends JFrame implements ActionListener {
/**
* 获取硬盘序列号
*/
private static final long serialVersionUID = 1L;
private JButton btn_get;
private JButton btn_cnacel;
private JLabel label;
public MainView() {
JPanel jPanelLab = new JPanel();
JPanel jPanelBtn = new JPanel();
jPanelLab.setLayout(new FlowLayout());
jPanelBtn.setLayout(new FlowLayout());
label = new JLabel("硬盘序列号:XXXX-XXXX");
setTitle("获取硬盘序列号Demo");
setBounds((Toolkit.getDefaultToolkit().getScreenSize().width - 300) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height - 160) / 2, 300, 160);
jPanelLab.add(label);
btn_get = new JButton("获取");
btn_cnacel = new JButton("退出");
jPanelBtn.add(btn_get);
jPanelBtn.add(btn_cnacel);
setVisible(true);
setLayout(new GridLayout(2, 1));
add(jPanelLab);
add(jPanelBtn);
btn_get.addActionListener(this);
btn_cnacel.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn_get) {
String mess = "硬盘序列号:" + getHdSerialInfo();
this.label.setText(mess);
}
if (e.getSource() == btn_cnacel) {
dispose();
}
}
public static String getHdSerialInfo() {
String line = "";
String HdSerial = "";// 定义变量 硬盘序列号
try {
Process proces = Runtime.getRuntime().exec("cmd /c dir c:");// 获取命令行参数
BufferedReader buffreader = new BufferedReader(new InputStreamReader(proces.getInputStream(), "gbk"));
while ((line = buffreader.readLine()) != null) {
if (line.indexOf("卷的序列号是 ") != -1) {
// 读取参数并获取硬盘序列号
HdSerial = line.substring(line.indexOf("卷的序列号是 ") + "卷的序列号是 ".length(), line.length());
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
return HdSerial;
}
public static void main(String[] args) {
new MainView();
}
}