當前位置:首頁 » 比特幣問答 » btcstackmouse軟體源

btcstackmouse軟體源

發布時間: 2021-11-15 06:37:45

⑴ 求人解決java編程打地鼠的問題

這是個好東西

⑵ 基於Java語言的打地鼠的小游戲源代碼是什麼

public void mouseClicked(MouseEvent e){
Object source=e.getSource(); //獲取事件源,即地滑鼠簽
if(source instanceof JLabel){ //如果事件是標簽組件
JLabel mouse=(JLabel)source; //強制轉換為JLabel標簽
mouse.setIcon(null); //取消標簽圖標
}
}
});
this.getContentPane().add(mouses[i]); //添加顯示地鼠的標簽到窗體
}

mouses[0].setLocation(253, 300); //設置每個標簽的位置
mouses[1].setLocation(333, 250);
mouses[2].setLocation(388, 296);
mouses[3].setLocation(362, 364);
mouses[4].setLocation(189, 353);
mouses[5].setLocation(240, 409);

final JLabel backLabel=new JLabel(); //創建顯示背景的標簽
backLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
this.setBounds(100,100,img.getIconWidth(),img.getIconHeight());
backLabel.setIcon(img); //添加背景到標簽
this.getContentPane().add(backLabel); //添加背景標簽到窗體
}
/**
* 線程的核心方法
*/

public void run(){
while(true){ //使用無限循環
try{
Thread.sleep(3000); //使線程休眠3秒
int index=(int)(Math.random()*6); //生成隨機的地鼠索引
if(mouses[index].getIcon()==null){ //如果地滑鼠簽沒有設置圖片
mouses[index].setIcon(imgMouse); //為該標簽添加地鼠圖片
}
}catch(InterruptedException e){
e.printStackTrace();
}
}
}

}

⑶ 除了BTC Mouse,還有什麼可以讓iPad用滑鼠

可以用,不過要越獄,4應該還沒有越獄 APP是BTC Mouse&Trackpad

⑷ 滑鼠能與ipad連接嗎

1、可以是可以,不過首先要確定iPad已經越獄,進入Cydia搜索BTstack Mouse這個軟體,然後點擊安裝這個軟體。

⑸ java圖書管理界面系統的源代碼

javaswing登陸界面code
/*
* Login.java
*
* Created on __DATE__, __TIME__
*/

package com.agen.library.window;

import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.;

import com.agen.library.factory.DAOFactory;
import com.agen.library.util.GlobalUser;
import com.agen.library.vo.User;

/**
*
* @author __USER__
*/
public class Login extends javax.swing.JFrame {

/**
*
*/
private static final long serialVersionUID = -2176093732040600809L;
/** Creates new form Login */
public Login() {
super("易雲圖書管理軟體V1.0");
Image ime = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/images/ico.png"));
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch ( e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setIconImage(ime);
initComponents();
setLocationRelativeTo(null);
this.setResizable(false);

}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenuItem2 = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
formKeyPressed(evt);
}

public void keyTyped(java.awt.event.KeyEvent evt) {
formKeyTyped(evt);
}
});

jLabel2.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jLabel2.setText("\u7528\u6237\u540d\uff1a");

jLabel3.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jLabel3.setText("\u5bc6 \u7801\uff1a");

jTextField1.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});

jPasswordField1.setFont(new java.awt.Font("微軟雅黑", 0, 12));
jPasswordField1.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
jPasswordField1KeyTyped(evt);
}
});

jButton1.setBackground(new java.awt.Color(223, 216, 216));
jButton1.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jButton1.setText("\u767b\u9646");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jButton2.setBackground(new java.awt.Color(223, 216, 216));
jButton2.setFont(new java.awt.Font("微軟雅黑", 0, 14));
jButton2.setText("\u53d6\u6d88");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel1.setIcon(new javax.swing.ImageIcon(
getClass().getResource("/images/login_main.jpg"))); // NOI18N

jMenu1.setText("File");
jMenu1.setFont(new java.awt.Font("微軟雅黑", 0, 14));

jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_Q,
java.awt.event.InputEvent.CTRL_MASK));
jMenuItem1.setText("Exit");
jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenuItem1MouseClicked(evt);
}
});
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);

jMenuBar1.add(jMenu1);

jMenu2.setText("Help");
jMenu2.setFont(new java.awt.Font("微軟雅黑", 0, 14));

jMenuItem2.setText("About");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu2.add(jMenuItem2);

jMenuBar1.add(jMenu2);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addGroup(
layout.createSequentialGroup()
.addContainerGap()
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addComponent(
jLabel2,
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(
jLabel3)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addGap(10,
10,
10)
.addComponent(
jButton1)
.addGap(47,
47,
47)
.addComponent(
jButton2))
.addComponent(
jPasswordField1)
.addComponent(
jTextField1,
javax.swing.GroupLayout.DEFAULT_SIZE,
197,
Short.MAX_VALUE))
.addContainerGap()))));
layout.setVerticalGroup(layout
.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(
layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(
jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
24,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(
jPasswordField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
23,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(
layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)));

pack();
}// </editor-fold>
// GEN-END:initComponents

private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:
About.start();
}

private void jPasswordField1KeyTyped(java.awt.event.KeyEvent evt) {
if (evt.getKeyChar() == '\n') {
String name = jTextField1.getText(); // 獲取用戶名
String pass = String.valueOf(jPasswordField1.getPassword());// 獲取密碼
User user = null;

// 未輸入用戶名
if (name.equals("") || name == null) {
JOptionPane.showMessageDialog(this, "用戶名不允許為空!", "cuowu", 0);
return;
}
try {
user = DAOFactory.getIUserDAOInstance().findById(name);
if (user != null) {
if (user.getPass() != null && user.getPass().equals(pass)) {

GlobalUser.LOGIN_USER = user; // 記錄當前用戶

// 進入主界面
Main.start();
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!");
return;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (user == null) {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!", "消息", 0);
return;
}

}

}

private void formKeyTyped(java.awt.event.KeyEvent evt) {

}

private void formKeyPressed(java.awt.event.KeyEvent evt) {

}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextField1.setText("");
jPasswordField1.setText("");
jTextField1.requestFocus();

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String name = jTextField1.getText(); // 獲取用戶名
String pass = String.valueOf(jPasswordField1.getPassword());// 獲取密碼
User user = null;

// 未輸入用戶名
if (name.equals("")) {
JOptionPane.showMessageDialog(this, "用戶名不允許為空!");
return;
}
try {
user = DAOFactory.getIUserDAOInstance().findById(name);
if (user != null) {
if (user.getPass() != null && user.getPass().equals(pass)) {

GlobalUser.LOGIN_USER = user; // 記錄當前用戶

// 進入主界面
Main.start();
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!", "消息", 0);
return;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (user == null) {
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!", "消息", 0);
return;
}

}

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(this, "你確定要退出嗎?", "提示",
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
System.exit(0);
}
}

private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {
System.exit(1);
}

/**
* @param args
* the command line arguments
*/
public static void main(String args[]) {
// System.out.println(Login.class.getResource("src/images/images/login_main.jpg"));
// new javax.swing.ImageIcon(
// Login.class.getResource("../../../../images/login_main.jpg"));
// new Login().setVisible(true);
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
}
});
}

// GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JTextField jTextField1;
// End of variables declaration//GEN-END:variables

}

⑹ java中各種類型的鍵盤輸入代碼是什麼

下面的是鍵盤和滑鼠的各種事件,看一下是不是你要的!

滑鼠監聽器
滑鼠監聽器mouseListener監聽滑鼠事件MouseEvent。相應事件和處理方法如下表:
滑鼠事件 處理方法
MOUSE_CLICKED MouseClicked (MouseEvent) 滑鼠點擊(單或雙)
MOUSE_PRESSED MousePressed (MouseEvent) 滑鼠按下
MOUSE_RELEASED MouseReleased(MouseEvent) 滑鼠松開
MOUSE_ENTERED MouseEntered (MouseEvent) 滑鼠進入(某組件區域)
MOUSE_EXITED MouseExited (MouseEvent) 滑鼠離開(某組件區域)

滑鼠事件MouseEvent常用方法
int getClickCount() 得到點擊次數1 OR 2;
int getX(), int getY() 得到滑鼠的(象素)位置。

對於滑鼠的移動和拖放,另外用滑鼠運動監聽器mouseMotionListener。因為許多程序不需要監聽滑鼠運動,把兩者分開可簡化程序。有兩個方法處理滑鼠運動事件:
MOUSE_MOVED MouseMoved (MouseEvent) 滑鼠在移動MOUSE_DRAGGED MouseDragged(MouseEvent) 滑鼠被拖動
下面的常式演示簡單的滑鼠監聽,並在屏幕上輸出滑鼠操作的信息。
例2
下面是討論MouseMotionListener的使用時機,它提供的下面的兩個方法,可讓你隨時掌握滑鼠的坐標,並處理拖曳滑鼠的操作。
MouseMotionListener mouseDragged(MouseEvent e)
mouseMoved(MouseEvent e)
-----------------------------------------------------------------------
下面的範例讓你知道滑鼠在JFrame上的坐標,並拖曳出直線來。
MouseDemo3.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*為了達到畫線的功能,我們分別implements MouseListener與MouseMotionListener.
*/
public class MouseDemo3 extends JFrame implements MouseListener,MouseMotionListener{
int flag;//flag=1代表Mouse Moved,flag=2代表Mouse Dragged
int x=0;
int y=0;
int startx,starty,endx,endy;//起始坐標與終點坐標
public MouseDemo3(){
Container contentPane=getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300,300);
show();
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
/*由mousePressed(),mouseReleased()取得示拖曳的開始與結束坐標*/
public void mousePressed(MouseEvent e){
startx=e.getX();
starty=e.getY();
}
public void mouseReleased(MouseEvent e){
endx=e.getX();
endy=e.getY();
}
public void mouseEntered(MouseEvent e){ }
public void mouseExited(MouseEvent e){ }
public void mouseClicked(MouseEvent e){ }
/*mouseMoved(),mouseDragged()取得滑鼠移動的每一個坐標,並調用repaint()方法*/
public void mouseMoved(MouseEvent e){
flag=1;
x=e.getX();
y=e.getY();
repaint();
}
public void mouseDragged(MouseEvent e){
flag=2;
x=e.getX();
y=e.getY();
repaint();
}
public void update(Graphics g){
g.setColor(this.getBackground());
g.fillRect(0,0,getWidth(),getHeight());
paint(g);
}
public void paint(Graphics g){
g.setColor(Color.black);
if (flag==1){
g.drawString("滑鼠坐標:("+x+","+y+";)",10,50);
g.drawLine(startx,starty,endx,endy);
}
if (flag==2){
g.drawString("拖曳滑鼠價坐標:("+x+","+y+";)",10,50);
g.drawLine(startx,starty,x,y);
}
}
public static void main(String[] args){
new MouseDemo3();
}
}

例3
實現一個簡單的滑鼠控製程序MouseController。程序功能很簡單:隨機移動滑鼠並點擊左鍵。
代碼如下:
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.util.Random;
/**
*
*/
/**
* @Create date 2007-11-6
*/
public class MouseController implements Runnable {
private Dimension dim;
private Random rand;
private Robot robot;
private volatile boolean stop = false;
public MouseController() {
dim = Toolkit.getDefaultToolkit().getScreenSize();
rand = new Random();
try {
robot = new Robot();
} catch (AWTException ex) {
ex.printStackTrace();
}
}
public void run() {
while(!stop) {
int x = rand.nextInt(dim.width);
int y = rand.nextInt(dim.height);
robot.mouseMove(x, y);
robot.mousePress(InputEvent.BUTTON1_MASK);
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public synchronized void stop() {
stop = true;
}
public static void main(String[] args) {
MouseController mc = new MouseController();
Thre
$False$
ad mcThread = new Thread(mc);
System.out.println("Mouse Controller start");
mcThread.start();
try {
Thread.sleep(60000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
mc.stop();
System.out.println("Mouse Controller stoped");
}
}

例4 本常式演示滑鼠監聽器,滑鼠點擊和運動的監聽。
///
// MouseEvt.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyPanel extends JPanel implements MouseMotionListener{
public MyPanel() {
addMouseListener(new MouseAdapter() {
publicvoid mouseClicked(MouseEvent evt) {
if (evt.getClickCount() >= 2)
System.out.println("\n雙擊滑鼠");
int x = evt.getX(); int y = evt.getY();
System.out.println("點擊滑鼠的位置\nX:" + x + "\ty: " + y);
}
});
addMouseMotionListener(this);
}
publicvoid mouseMoved(MouseEvent evt){
System.out.println("\n滑鼠正在移動");
}
publicvoid mouseDragged(MouseEvent evt){
System.out.println("\n滑鼠正在拖動");
}
}
class MyFrame extends JFrame{
public MyFrame(){
setTitle("滑鼠事件示常式序");
setSize(300, 200);
addWindowListener(new WindowAdapter(){
publicvoid windowClosing(WindowEvent e){
System.exit(0);
}
} );
Container contentPane = getContentPane();
contentPane.add(new MyPanel());
}
}
publicclass MouseEvt{
publicstaticvoid main(String[] args){
JFrame frame = new MyFrame();
frame.setVisible(true);
}
}
///

簡要說明
在MyPanel的構建器中添加了滑鼠適配器來監聽滑鼠點擊數和位置。也添加了運動監聽器來處理移動和拖放操作。
滑鼠雙擊事件
滑鼠的單雙擊事件在很多時候對我們幫助很大,但是在JAVA中卻沒有給出滑鼠雙擊事件.我們可以通過事件源e.getClickCount()==2來判斷滑鼠點擊次數來實現滑鼠雙擊事件,例如: public class MyMouseListener
extends java.awt.event.MouseAdapter ...{

public void mouseClicked(MouseEvent e) ...{
System.out.println("clicked");
int clickTimes = e.getClickCount();
if (clickTimes == 2) ...{
System.out.println("Doublc Clicked!");
}
}
}
但是這樣並沒有達到我們的要求,因為在每次觸發雙擊事件的同時會觸發單擊事件.所以我們試圖改進以上方案,不使用系統提供的e.getClickCount()方法.可以考慮當第一次單擊滑鼠的時候讓滑鼠單擊事件延時0.2秒執行,而在這段時間里等待第二次單擊,如果有第二次單擊,那麼我們執行雙擊事件任務,取消單擊任務;如果在這段時間沒有等到再次單擊,那麼執行單擊任務.

下面是用定時器延時單擊事件實現滑鼠雙擊事件,單擊和雙擊事件互不影響!

public class MyMouseListener
extends java.awt.event.MouseAdapter ...{
private static boolean flag=false;//用來判斷是否已經執行雙擊事件
private static int clickNum=0;//用來判斷是否該執行雙擊事件

public void mouseClicked(MouseEvent e) ...{
final MouseEvent me=e;//事件源

this.flag=false;//每次點擊滑鼠初始化雙擊事件執行標志為false

if (this.clickNum == 1) ...{//當clickNum==1時執行雙擊事件
this.mouseDoubleClicked(me);//執行雙擊事件
this.clickNum=0;//初始化雙擊事件執行標志為0
this.flag=true;//雙擊事件已執行,事件標志為true
return;
}

//定義定時器
java.util.Timer timer=new java.util.Timer();

//定時器開始執行,延時0.2秒後確定是否執行單擊事件
timer.schele(new java.util.TimerTask() ...{
private int n=0;//記錄定時器執行次數
public void run() ...{
if(MyMouseListener.flag)...{//如果雙擊事件已經執行,那麼直接取消單擊執行
n=0;
MyMouseListener.clickNum=0;
this.cancel();
return;
}
if (n == 1) ...{//定時器等待0.2秒後,雙擊事件仍未發生,執行單擊事件
mouseSingleClicked(me);//執行單擊事件
MyMouseListener.flag = true;
MyMouseListener.clickNum=0;
n=0;
this.cancel();
return;
}
clickNum++;
n++;
}
},new java.util.Date(),500);
}

/** *//**
* 滑鼠單擊事件
* @param e 事件源參數
*/
public void mouseSingleClicked(MouseEvent e)...{
System.out.println("Single Clicked!");
}

/** *//**
* 滑鼠雙擊事件
* @param e 事件源參數
*/
public void mouseDoubleClicked(MouseEvent e)...{
System.out.println("Doublc Clicked!");
}
}

//Test.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Test extends JFrame{

public Test(){
super("test");
init();
this.setSize(800,600);
this.setVisible(true);
}

private void init(){
JButton b=new JButton("button");
b.setBounds(50,50,100,30);
this.getContentPane().setLayout(null);
this.getContentPane().add(b);
b.addMouseListener(new MyMouseListener());
}

public static void main(String args[]){
new Test();
}

}

鍵盤監聽器
鍵盤監聽器KeyListener用來監聽鍵盤事件。鍵盤事件有三種:KEY_PRESSED鍵按下了,KEY_RELEASED鍵松開了,KEY_TYPED鍵按過了。每個鍵都有一個鍵碼,普通鍵的鍵碼就是ASCII碼。鍵碼可通過int getKeyCode()方法獲得。Java設置了一種「虛擬鍵碼」(Virtual Key Code),用「VK_」作為前綴,例如VK_G。下面是某些特殊鍵的虛擬鍵碼。
鍵碼 含義 鍵碼 含義
VK_LEFT/VK_RIGHT 左右方向鍵 VK_CONTROL Ctrl鍵
VK_KP_UP 小鍵盤向上 VK_ATL Alt鍵
VK_PAUSE 暫停鍵 VK_SHIFT Shift鍵
VK_NUMBER0 小鍵盤數字0 VK_F1 功能鍵F1
VK_0 數字鍵0 VK_B 字母鍵B
虛擬鍵碼對應的是鍵位,不區分大小寫。要想知道大小寫還必須查看修飾鍵(modifier key)。這由輸入事件InputEvent的getModifere()方法得到,把返回值與常量SHIFT_MASK, CONTROL_MASK, ALT_MASK比較,用以判定哪個修飾鍵處於「同時按下」狀態。
監聽器KeyListener有三個方法keyPressed(KeyEvent evt),keyReleased(KeyEvent evt),keyTyped(KeyEvent evt),分別用於相應事件發生後的處理。下面的常式中給自己的鍵盤監聽器建立了showKeyEventMsg方法來顯示按鍵信息。
除了getKeyCode()方法得到鍵碼外,還可用getKeyChar()方法得到輸入的字元,用getKeyText(code)方法得到輸入的字元串。用isShiftDown()判斷shift鍵是否被按下等。當按下Control鍵時getKeyText返回的是「ctrl",Alt和Shift也類似。
下面的例子演示得到鍵碼和字元的方法,在命令行上顯示結果。

例1 本常式演示鍵盤監聽器後鍵碼的用法。
///
// KeyEvt.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyKeyListener implements KeyListener{
publicvoid keyPressed(KeyEvent evt) {
System.out.println("\n按鍵被按下");
showKeyEventMsg(evt);
}
publicvoid keyReleased(KeyEvent evt){ }
publicvoid keyTyped(KeyEvent evt) { }
privatevoid showKeyEventMsg(KeyEvent evt){//顯示按鍵事件信息
//得到按鍵對應的整型數
int code = evt.getKeyCode();
//返回按鍵事件所代表的字元
char c = evt.getKeyChar();
//得到代表按鍵的字元串
String szText = evt.getKeyText(code);
if (code != KeyEvent.VK_UNDEFINED)
System.out.println("\n按鍵對應的整型數:"+code);
if (c != KeyEvent.CHAR_UNDEFINED)
System.out.println("\n與按鍵相聯系的字元:"+c);
if (evt.isShiftDown())
System.out.println("\n按鍵Shift被按下");
System.out.println("\n按鍵本身的字元串:"+szText);
}
}
class ButtonPanel extends JPanel{
public ButtonPanel() {
//新建一個文本域組件
tf = new JTextField(20);
add(tf);
//指定用來處理該按鈕事件的監聽器對象為JPanel本身
myListener = new MyKeyListener();
tf.addKeyListener(myListener);
}
private JTextField tf;
private MyKeyListener myListener;
}
class ButtonFrame extends JFrame{
public ButtonFrame() {
setTitle("鍵盤事件示常式序");
setSize(300, 200);
setLocation(100,100);
addWindowListener(new WindowAdapter() {
publicvoid windowClosing(WindowEvent e)
{ System.exit(0);
}
});
Container ctPane = getContentPane();
ctPane.add(new ButtonPanel());
}
}
publicclass KeyEvt{
publicstaticvoid main(String[] args) {
JFrame frame = new ButtonFrame();
frame.setVisible(true);
}
}
///簡要說明

程序建立了自己的鍵盤監聽器MyKeyListener,定義了一個新方法showKeyEventMsg用來在標准輸出設備上顯示有關的鍵盤信息。
在面版ButtonPanel上建立文本框並加鍵盤監聽器。把面版ButtonPanel放到窗口ButtonFrame中。

⑺ 藍屏NO_MORE_IRP_STACK怎麼解決~~~拜託了!!!跪求

一、藍屏含義

1、故障檢查信息
***STOP 0x0000001E(0xC0000005,0xFDE38AF9,0x0000001,0x7E8B0EB4)
KMODE_EXCEPTION_NOT_HANDLED ***其中錯誤的第一部分是停機碼(Stop Code)也就是STOP 0x0000001E, 用於識別已發生錯誤的類型, 錯誤第二部分是被括弧括起來的四個數字集, 表示隨機的開發人員定義的參數(這個參數對於普通用戶根本無法理解, 只有驅動程序編寫者或者微軟操作系統的開發人員才懂). 第三部分是錯誤名. 信息第一行通常用來識別生產錯誤的驅動程序或者設備. 這種信息多數很簡潔, 但停機碼可以作為搜索項在微軟知識庫和其他技術資料中使用

2.推薦操作
藍屏第二部分是推薦用戶進行的操作信息. 有時, 推薦的操作僅僅是一般性的建議(比如: 到銷售商網站查找BIOS的更新等); 有時, 也就是顯示一條與當前問題相關的提示. 一般來說, 惟一的建議就是重啟.

3.調試埠告訴用戶內存轉儲映像是否寫到磁碟商了, 使用內存轉儲映像可以確定發生問題的性質, 還會告訴用戶調試信息是否被傳到另一台電腦商, 以及使用了什麼埠完成這次通訊. 不過, 這里的信息對於普通用戶來說, 沒有什麼意義.有時保衛科可以順利的查到是哪個生產小組的問題, 會在第一部分明確報告是哪個文件犯的錯, 但常常它也只能查個大概范圍, 而無法明確指明問題所在. 由於工廠全面被迫停止, 只有重新整頓開工, 有時, 那個生產小組會意識到錯誤 , 不再重犯. 但有時仍然會試圖哄搶零件, 於是廠領導不得不重復停工決定(不能啟動並顯示藍屏信息, 或在進行相同操作時再次出現藍屏).

二、藍屏的處理方法

Windows 2K/XP藍屏信息非常多, 無法在一篇文章中全面講解, 但他們產生的原因往往集中在不兼容的硬體和驅動程序、有問題的軟體、病毒等, 因此首先為大家提供了一些常規的解決方案, 在遇到藍屏錯誤時, 應先對照這些方案進行排除.
1.重啟
有時只是某個程序或驅動程序一時犯錯, 重啟後他們會改過自新.(注意:此時參見7.查詢停機碼)
2.新硬體
首先, 應該檢查新硬體是否插牢, 這個被許多人忽視的問題往往會引發許多莫名其妙的故障. 如果確認沒有問題, 將其拔下, 然後換個插槽試試, 並安裝最新的驅動程序. 同時還應對照微軟網站的硬體兼容類別檢查一下硬體是否與操作系統兼容. 如果你的硬體沒有在表中, 那麼就得到硬體廠商網站進行查詢, 或者撥打他們的咨詢電話.
Windows XP的硬體兼容列表
Windows 2K的硬體兼容類別

3.新驅動和新服務
如果剛安裝完某個硬體的新驅動, 或安裝了某個軟體, 而它又在系統服務中添加了相應項目(比如:殺毒軟體、CPU降溫軟體、防火牆軟體等), 在重啟或使用中出現了藍屏故障, 請到安全模式來卸載或禁用它們.

4.檢查病毒
比如沖擊波和振盪波等病毒有時會導致Windows藍屏死機, 因此查殺病毒必不可少. 同時一些木馬間諜軟體也會引發藍屏, 所以最好再用相關工具進行掃描檢查.

5.檢查BIOS和硬體兼容性
對於新裝的電腦經常出現藍屏問題, 應該檢查並升級BIOS到最新版本, 同時關閉其中的內存相關項, 比如:緩存和映射. 另外, 還應該對照微軟的硬體兼容列表檢查自己的硬體. 還有就是, 如果主板BIOS無法支持大容量硬碟也會導致藍屏, 需要對其進行升級.

小提示:
BIOS的緩存和映射項
Video BIOS Shadowing (視頻BIOS映射)
Shadowing address ranges(映射地址列)
System BIOS Cacheable(系統BIOS緩沖)
Video BIOS Cacheable(視頻BIOS緩沖)
Video RAM Cacheable(視頻內存緩沖)
6.檢查系統日誌
在開始-->菜單中輸入:EventVwr.msc, 回車出現"事件查看器", 注意檢查其中的"系統日誌"和"應用程序日誌"中表明"錯誤"的項.

7.查詢停機碼
把藍屏中密密麻麻的E文記下來, 接著到其他電腦中上網, 進入微軟幫助與支持網站http://support.microsoft.com?, 在左上角的"搜索(知識庫)"中輸入停機碼, 如果搜索結果沒有適合信息, 可以選擇"英文知識庫"在搜索一遍. 一般情況下, 會在這里找到有用的解決案例. 另外, 在、Google等搜索引擎中使用藍屏的停機碼或者後面的說明文字為關鍵詞搜索, 往往也會有以外的收獲.

8.最後一次正確配置
一般情況下, 藍屏都出現於更新了硬體驅動或新加硬體並安裝其驅動後, 這時Windows 2K/XP提供的"最後一次正確配置"就是解決藍屏的快捷方式. 重啟系統, 在出現啟動菜單時按下F8鍵就會出現高級啟動選項菜單, 接著選擇"最後一次正確配置".

9.安裝最新的系統補丁和Service Pack
有些藍屏是Windows本身存在缺陷造成的, 應此可通過安裝最新的系統補丁和Service Pack來解決.

三、藍屏代碼含義和解決方案

1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:主要是由問題的驅動程序、有缺陷或不兼容的硬體與軟體造成的. 從技術角度講. 表明在內核模式中存在以太高的進程內部請求級別(IRQL)訪問其沒有許可權訪問的內存地址.
◇解決方案:請用前面介紹的解決方案中的2、3、5、8、9方案嘗試排除.

2、0x00000012:TRAP_CAUSE_UNKNOWN
◆錯誤分析:如果遇到這個錯誤信息, 那麼很不幸, 應為KeBudCheck分析的結果是錯誤原因
未知.
◇解決方案:既然微軟都幫不上忙, 就得靠自己了, 請仔細回想這個錯誤是什麼時候出現的; 第一次發生時你對系統做了哪些操作; 發生時正在進行什麼操作. 從這些信息中找出可能的原因, 從而選擇相應解決方案嘗試排除.

3、0x0000001A:MEMORY_MANAGEMENT
◆錯誤分析:這個內存管理錯誤往往是由硬體引起的, 比如: 新安裝的硬體、內存本身有問題等.
◇解決方案:如果是在安裝Windows時出現, 有可能是由於你的電腦達不到安裝Windows的最小內存和磁碟要求.

4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:Windows內核檢查到一個非法或者未知的進程指令, 這個停機碼一般是由問題的內存或是與前面0x0000000A相似的原因造成的.
◇解決方案:
(1)硬體兼容有問題:請對照前面提到的最新硬體兼容性列表, 查看所有硬體是否包含在該列表中.
(2)有問題的設備驅動、系統服務或內存沖突和中斷沖突: 如果在藍屏信息中出現了驅動程序的名字, 請試著在安裝模式或者故障恢復控制台中禁用或刪除驅動程序, 並禁用所有剛安裝的驅動和軟體. 如果錯誤出現在系統啟動過程中, 請進入安全模式, 將藍屏信息中所標明的文件重命名或者刪除.
(3)如果錯誤信息中明確指出Win32K.sys: 很有可能是第三方遠程式控制制軟體造成的, 需要從故障恢復控制台中將對該軟體的服務關閉.
(4)在安裝Windows後第一次重啟時出現:最大嫌疑可能時系統分區的磁碟空間不足或BIOS兼容有問題.
(5)如果是在關閉某個軟體時出現的:很有可能時軟體本省存在設計缺陷, 請升級或卸載它.

5、0x00000023:FAT_FILE_SYSTEM
0x00000024:NTFS_FILE_SYSTEM
◆錯誤分析:0x00000023通常發生在讀寫FAT16或者FAT32文件系統的系統分區時, 而
0x00000024則是由於NTFS.sys文件出現錯誤(這個驅動文件的作用是容許系統讀寫使用
NTFS文件系統的磁碟). 這兩個藍屏錯誤很有可能是磁碟本身存在物理損壞, 或是中斷要求封包(IRP)損壞而導致的. 其他原因還包括:硬碟磁碟碎片過多; 文件讀寫操作過於頻繁, 並且數據量非常達或者是由於一些磁碟鏡像軟體或殺毒軟體引起的.
◇解決方案:
第一步:首先打開命令行提示符, 運行"Chkdsk /r"(注:不是CHKDISK, 感覺象這個, 但是……)命令檢查並修復硬碟錯誤, 如果報告存在懷道(Bad Track), 請使用硬碟廠商提供的檢查工具進行檢查和修復.
第二步:接著禁用所有即使掃描文件的軟體, 比如:殺毒軟體、防火牆或備份工具.
第三步:右擊C:\winnt\system32\drivers\fastfat.sys文件並選擇"屬性", 查看其版本是否與當前系統所使用的Windows版本相符.(注:如果是XP, 應該是C:\windows\system32
\drivers\fastfat.sys)
第四步:安裝最新的主板驅動程序, 特別IDE驅動. 如果你的光碟機、可移動存儲器也提供有驅動程序, 最好將它們升級至最新版.

6、0x00000027:RDR_FILE_SYSTEM
◆錯誤分析:這個錯誤產生的原因很難判斷, 不過Windows內存管理出了問題很可能會導致這個停機碼的出現.
◇解決方案:如果是內存管理的緣故, 通常增加內存會解決問題.

7、0x0000002EATA_BUS_ERROR
◆錯誤分析:系統內存存儲器奇偶校驗產生錯誤, 通常是因為有缺陷的內存(包括物理內存、二級緩存或者顯卡顯存)時設備驅動程序訪問不存在的內存地址等原因引起的. 另外, 硬碟被病毒或者其他問題所損傷, 以出現這個停機碼.
◇解決方案:
(1)檢查病毒
(2)使用"chkdsk /r"命令檢查所有磁碟分區.
(3)用Memtest86等內存測試軟體檢查內存.
(4)檢查硬體是否正確安裝, 比如:是否牢固、金手指是否有污漬.

8、0x00000035:NO_MORE_IRP_STACK_LOCATIONS
◆錯誤分析:從字面上理解, 應該時驅動程序或某些軟體出現堆棧問題. 其實這個故障的真正原因應該時驅動程序本省存在問題, 或是內存有質量問題.
◇解決方案:請使用前面介紹的常規解決方案中與驅動程序和內存相關的方案進行排除.

9、0x0000003F:NO_MORE_SYSTEM_PTES
◆錯誤分析:一個與系統內存管理相關的錯誤, 比如:由於執行了大量的輸入/輸出操作, 造成內存管理出現問題: 有缺陷的驅動程序不正確地使用內存資源; 某個應用程序(比如:備份軟體)被分配了大量的內核內存等.
◇解決方案:卸載所有最新安裝的軟體(特別是哪些增強磁碟性能的應用程序和殺毒軟體)和驅動程序.

10、0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS
◆錯誤分析:通常是由硬體驅動程序引起的.
◇解決方案:卸載最近安裝的驅動程序. 這個故障很少出現, 目前已經知道的是, 在使用
www.in-system.com/這家公司的某些軟體時會出現, 其中的罪魁就是Falstaff.sys文件.(作者難道不怕吃官司嘛, 把公司網址公布)

11、0x00000050: PAGE_FAULT_IN_NONPAGED+AREA
◆錯誤分析:有問題的內存(包括屋裡內存、二級緩存、顯存)、不兼容的軟體(主要是遠程式控制制和殺毒軟體)、損壞的NTFS卷以及有問題的硬體(比如: PCI插卡本身已損壞)等都會引發這個錯誤.
◇解決方案:請使用前面介紹的常規解決方案中與內存、軟體、硬體、硬碟等相關的方案進行排除.

12、0x00000051:REGISTRY_ERROR
◆錯誤分析:這個停機碼說明注冊表或系統配置管理器出現錯誤, 由於硬碟本身有物理損壞或文件系統存在問題, 從而造成在讀取注冊文件時出現輸入/輸出錯誤.
◇解決方案:使用"chkdsk /r"檢查並修復磁碟錯誤.

13、0x00000058:FTDISK_INTERNAL_ERROR
◆錯誤分析:說明在容錯集的主驅動發生錯誤.
◇解決方案:首先嘗試重啟電腦看是否能解決問題, 如果不行, 則嘗試"最後一次正確配置"進行解決.

14、0x0000005E:CRITICAL_SERVICE_FAILED
◆錯誤分析:某個非常重要的系統服務啟動識別造成的.
◇解決方案:如果是在安裝了某個新硬體後出新的, 可以先移除該硬體, 並通過網上列表檢查它是否與Windows 2K/XP兼容, 接著啟動電腦, 如果藍屏還是出現, 請使用"最後一次正確配置"來啟動Windows, 如果這樣還是失敗, 建議進行修復安裝或是重裝.

15、0x0000006F:SESSION3_INITIALIZATION-FAILED
◆錯誤分析:這個錯誤通常出現在Windows啟動時, 一般是由有問題的驅動程序或損壞的系統文件引起的.
◇解決方案:建議使用Windows安裝光碟對系統進行修復安裝.

16、0x00000076ROCESS_HAS_LOCKED_PAGES
◆錯誤分析:通常是因為某個驅動程序在完成了一次輸入/輸出操作後, 沒有正確釋放所佔有的內存
◇解決方案:
第一步:點擊開始-->運行:regedt32, 找到[HKLM\SYSTEM\Currentcontrol set\control\session manager\memory management], 在右側新建雙位元組值"TrackLockedPages", 值為1. 這樣Windows便會在錯誤再次出現時跟蹤到是哪個驅動程序的問題.第二步:如果再次出現藍屏, 那麼錯誤信息會變成:STOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS其中第四個"0xY"會顯示為問題驅動程序的名字, 接著對其進行更新或刪除.第三步:進入注冊表, 刪除添加的"TrackLockedPages".

17、0x00000077:KERNEL_STACK_INPAGE_ERROR
◆錯誤分析:說明需要使用的內核數據沒有在虛擬內存或物理內存中找到. 這個錯誤常常於是著磁碟有問題, 相應數據損壞或受到病毒侵蝕.
◇解決方案:使用殺毒軟體掃描系統; 使用"chkdsk /r"命令檢查並修復磁碟錯誤, 如不行則使用磁碟廠商提供的工具檢查修復.

18、0x0000007A:KERNEL_DATA_INPAGE_ERROR
◆錯誤分析:這個錯誤往往是虛擬內存中的內核數據無法讀入內存造成的. 原因可能是虛擬內存頁面文件中存在壞簇、病毒、磁碟控制器出錯、內存有問題.
◇解決方案:首先用升級為最新病毒庫殺毒軟體查殺病毒, 如果促無信息中還0xC000009C
或0xC000016A代碼, 那麼表示是壞簇造成的, 並且系統的磁碟檢測工具無法自動修復, 這時要進入"故障恢復控制台", 用"chkdsk /r"命令進行手動修復.

19、0x0000007B:INACESSIBLE_BOOT_DEVICE
◆錯誤分析:Windows在啟動過程中無法訪問系統分區或啟動卷. 一般發生在更換主板後第一次啟動時, 主要是因為新主板和舊主板的IDE控制器使用了不同晶元組造成的. 有時也可能是病毒或硬碟損傷所引起的.
◇解決方案:一般只要用安裝光碟啟動電腦, 然後執行修復安裝即可解決問題. 對於病毒則可使用DOS版的殺毒軟體進行查殺(主戰有kv2005DOS版下載). 如果是硬碟本身存在問題, 請將其安裝到其他電腦中, 然後使用"chkdsk /r"來檢查並修復磁碟錯誤.

20、0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
◆錯誤分析:系統進程產生錯誤, 但Windows錯誤處理器無法捕獲. 其產生原因很多, 包括:硬體兼容性、有問題的驅動程序或系統服務、 或者是某些軟體.
◇解決方案:請使用"事件查看器"來獲取更多的信息, 從中發現錯誤根源.(發現好像不是解決哦, 看來這里大家要自力更生了!)

21、0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP
◆錯誤分析:一般是由於有問題的硬體(比如:內存)或某些軟體引起的. 有時超頻也會產生這個錯誤.
◇解決方案:用檢測軟體(比如:Memtest86)檢查內存, 如果進行了超頻, 請取消超頻. 將PCI硬體插卡從主板插槽拔下來, 或更換插槽. 另外, 有些主板(比如:nForce2主板)在進行超頻後, 南橋晶元過熱也會導致藍屏, 此時為該晶元單獨增加散熱片往往可以有效解決問題.

22、0x00000080:NMI_HARDWARE_FAILURE
◆錯誤分析:通常是有硬體引起的.(似乎藍屏與硬體錯誤有不解之緣)
◇解決方案:如果最近安裝了新硬體, 請將其移除, 然後試試更換插槽和安裝最新的驅動程序, 如果升級了驅動程序, 請恢復後原來的版本; 檢查內存金手指是否有污染和損壞; 掃描病毒; 運行"chkdsk /r"檢查並修復磁碟錯誤; 檢查所有硬體插卡已經插牢. 如果以上嘗試都無效果, 就得找專業的電腦維修公司請求幫助了.

23、0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:內核級應用程序產生了錯誤, 但Windows錯誤處理器沒有捕獲. 通常是硬體兼容性錯誤.
◇解決方案:升級驅動程序或升級BIOS.

24、0x0000009C:MACHINE_CHECK_EXCEPTION
◆錯誤分析:通常是硬體引起的. 一般是因為超頻或是硬體存在問題(內存、CPU、匯流排、電
源).
◇解決方案:如果進行了超頻, 請降會CPU原來頻率, 檢查硬體.

25、0x0000009FRIVER_POWER_STATE_FAILURE
◆錯誤分析:往往與電源有關系, 常常發生在與電源相關的操作, 比如:關機、待機或休睡.
◇解決方案:重裝系統, 如果不能解決, 請更換電源.

26、0x000000A5:ACPI_BIOS_ERROR
◆錯誤分析:通常是因為主板BIOS不能全面支持ACPI規范.
◇解決方案:如果沒有相應BIOS升級, 那麼可在安裝Windows 2K/XP時, 當出現"press F6 if you need to install a third-party SCSI or RAID driver"提示時, 按下F7鍵, 這樣Windows便會自動禁止安裝ACPI HAL, 而安裝 Standard PC HAL.

27、0x000000B4:VIDEO_DRIVER_INIT_FAILURE
◆錯誤分析:這個停止信息表示Windows因為不能啟動顯卡驅動, 從而無法進入圖形界面. 通常是顯卡的問題, 或者是存在與顯卡的硬體沖突(比如:與並行或串列埠沖突).
◇解決方案:進入安全模式查看問題是否解決, 如果可以, 請升級最新的顯卡驅動程序, 如果還不行, 則很可能是顯卡與並行埠存在沖突, 需要在安全模式按下WIN+break組合鍵打開"系統屬性", 在硬體-->設備管理器中找到並雙擊連接列印的LPT1埠的項, 在"資源"選項卡中取消"使用自動配置"的構選, 然後將"輸入/輸出范圍"的"03BC"改為"0378".

28、0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY
◆錯誤分析:某個驅動程序試圖向只讀內存寫入數據造成的. 通常是在安裝了新的驅動程序, 系統服務或升級了設備的固件程序後.
◇解決方案:如果在錯誤信息中包含有驅動程序或者服務文件名稱, 請根據這個信息將新安裝的驅動程序或軟體卸載或禁用.

29、0x000000C2:BAD_POOL_CALLER
◆錯誤分析:一個內核層的進程或驅動程序錯誤地試圖進入內存操作. 通常是驅動程序或存在BUG的軟體造成的.
◇解決方案:請參考前面介紹的常規解決方案相關項目進行排除.

30、0x000000CERIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
◆錯誤分析:通常是由有問題的驅動程序或系統服務造成的.
◇解決方案:請參考前面介紹的常規解決方案相關項目進行排除.

31、0x000000D1RIVER_IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:通常是由有問題的驅動程序引起的(比如羅技滑鼠的Logitech MouseWare 9.10和9.24版驅動程序會引發這個故障). 同時,有缺陷的內存、 損壞的虛擬內存文件、 某些軟體(比如多媒體軟體、殺毒軟體、備份軟體、DVD播放軟體)等也會導致這個錯誤.
◇解決方案:檢查最新安裝或升級的驅動程序(如果藍屏中出現"acpi.sys"等類似文件名, 可以非常肯定時驅動程序問題)和軟體; 測試內存是否存在問題; 進入"故障恢復控制台", 轉到虛擬內存頁面文件Pagefile.sys所在分區, 執行"del pagefile.sys"命令, 將頁面文件刪除; 然後在頁面文件所在分區執行"chkdsk /r"命令;進入Windows後重新設置虛擬內存.如果在上網時遇到這個藍屏, 而你恰恰又在進行大量的數據下載和上傳(比如:網路游戲、BT下載), 那麼應該是網卡驅動的問題, 需要升級其驅動程序.

32、0x000000EA:THREAD_STUCK_IN_DEVICE_DRIVER
◆錯誤分析:通常是由顯卡或顯卡驅動程序引發的.
◇解決方案:先升級最新的顯卡驅動, 如果不行, 則需要更換顯卡測試故障是否依然發生.

33、0x000000ED:UNMOUNTABLE_BOOT_VOLUME
◆錯誤分析:一般是由於磁碟存在錯誤導致的, 有時也建議檢查硬碟連線是否接觸不良, 或是沒有使用合乎該硬碟傳輸規格的連接線, 例如ATA-100仍使用ATA-33的連接線, 對低速硬碟無所謂, 但告訴硬碟(支持ATA-66以上)的要求較嚴格, 規格不對的連線有時也會引起這類沒辦法開機的故障. 如果在修復後, 還是經常出現這個錯誤, 很可能是硬碟損壞的前兆.
◇解決方案:一般情況下, 重啟會解決問題, 不管怎麼樣都建議執行"chkdsk /r"命令來檢查修復硬碟

34、0x000000F2:HARDWARE)INTERRUPT_STORM
◆錯誤分析:內核層檢查到系統出現中斷風暴, 比如:某個設備在完成操作後沒有釋放所佔用
的中斷. 通常這是由缺陷的驅動程序造成的.
◇解決方案:升級或卸載最新安裝的硬體驅動程序.

35、0x00000135:UNABLE_TO_LOCATE_DLL
◆錯誤分析:通常表示某個文件丟失或已經損壞, 或者是注冊表出現錯誤.
◇解決方案:如果是文件丟失或損壞, 在藍屏信息中通常會顯示相應的文件名, 你可以通過網路或是其他電腦找到相應的文件, 並將其復制到系統文件夾下的SYSTEM32子文件夾中. 如果沒有顯示文件名, 那就很有可能是注冊表損壞, 請利用系統還原或是以前的注冊表備份進行恢復.

36、0x0000021A:STATUS_SYSTEM_PROCESS_TERMINATED
◆錯誤分析:用戶模式子系統, 例如Winlogon或客服服務運行時子系統(CSRSS)已損壞, 所以無法再保證安全性, 導致系統無法啟動. 有時, 當系統管理員錯誤地修改了用戶帳號許可權, 導致其無法訪問系統文件和文件夾.
◇解決方案:使用"最後一次正確的配置", 如果無效, 可使用安裝光碟進行修復安裝.

37、STOP 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH
◆錯誤分析:通常是由於驅動程序或系統DLL文件損壞造成的. 一般情況下, 在藍屏中會出現
文件名稱
◇解決方案:
(1)使用Windows安裝光碟進行修復安裝;
(2)如果還能進入安全模式, 可以"開始-->運行": sfc /scannow
(3)還可以採用提取文件的方法來解決, 進入"故障恢復控制台", 使用或expand命令從光碟中復制或解壓受損的文件. 不過, 藍屏一般都是驅動程序文件的問題, 所以expand命令會用的都一些, 比如:藍屏中提示tdi.sys文件, 因為驅動文件一般在i386\driver壓縮包里, 所以使用: expand %CDROM:\i386\driver.cab \f:tdi.sys c:\winnt\system\drivers.(xp為expand %CDROM:\i386\driver.cab \f:tdi.sys c:\windowns\system\drivers)

38、如果啟動時出現這些藍屏停機碼
如果在Windows啟動時出現藍屏, 並出現附表一中的錯誤信息, 那麼多半時硬體出現了問題, 請用硬體廠商提供的診斷工具來判斷硬體是否存在問題, 並到其網站查看是否有最新的BIOS或固件更新程序. 如果硬體沒有問題, 重裝Windows 2K/XP, 若相同問題還是出現, 就只能求助專業的技術支持了 http://support.microsoft.com?, 在左上角的"搜索(知識庫)"中輸入停機碼, 如果搜索結果沒有適合信息, 可以選擇"英文知識庫"在搜索一遍. 一般情況下, 會在這里找到有用的解決案例. 另外, 在、Google等搜索引擎中使用藍屏的停機碼或者後面的說明文字為關鍵詞搜索, 往往也會有以外的收獲.

8.最後一次正確配置
一般情況下, 藍屏都出現於更新了硬體驅動或新加硬體並安裝其驅動後, 這時Windows 2K/XP提供的"最後一次正確配置"就是解決藍屏的快捷方式. 重啟系統, 在出現啟動菜單時按下F8鍵就會出現高級啟動選項菜單, 接著選擇"最後一次正確配置".

9.安裝最新的系統補丁和Service Pack
有些藍屏是Windows本身存在缺陷造成的, 應此可通過安裝最新的系統補丁和Service Pack來解決.

三、藍屏代碼含義和解決方案

1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL
◆錯誤分析:主要是由問題的驅動程序、有缺陷或不兼容的硬體與軟體造成的. 從技術角度講. 表明在內核模式中存在以太高的進程內部請求級別(IRQL)訪問其沒有許可權訪問的內存地址.
◇解決方案:請用前面介紹的解決方案中的2、3、5、8、9方案嘗試排除.

2、0x00000012:TRAP_CAUSE_UNKNOWN
◆錯誤分析:如果遇到這個錯誤信息, 那麼很不幸, 應為KeBudCheck分析的結果是錯誤原因
未知.
◇解決方案:既然微軟都幫不上忙, 就得靠自己了, 請仔細回想這個錯誤是什麼時候出現的; 第一次發生時你對系統做了哪些操作; 發生時正在進行什麼操作. 從這些信息中找出可能的原因, 從而選擇相應解決方案嘗試排除.

3、0x0000001A:MEMORY_MANAGEMENT
◆錯誤分析:這個內存管理錯誤往往是由硬體引起的, 比如: 新安裝的硬體、內存本身有問題等.
◇解決方案:如果是在安裝Windows時出現, 有可能是由於你的電腦達不到安裝Windows的最小內存和磁碟要求.

4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED
◆錯誤分析:Windows內核檢查到一個非法或者未知的進程指令, 這個停機碼一般是由問題的內存或是與前面0x0000000A相似的原因造成的.
◇解決方案:
(1)硬體兼容有問題:請對照前面提到的最新硬體兼容性列表, 查看所有硬體是否包含在該列表中.
(2)有問題的設備驅動、系統服務或內存沖突和中斷沖突: 如果在藍屏信息中出現了驅動程序的名字, 請試著在安裝模式或者故障恢復控制台中禁用或刪除驅動程序, 並禁用所有剛安裝的驅動和軟體. 如果錯誤出現在系統啟動過程中, 請進入安全模式, 將藍屏信息中所標明的文件重命名或者刪除.
(3)如果錯誤信息中明確指出Win32K.sys: 很有可能是第三方遠程式控制制軟體造成的, 需要從故障恢復控制台中將對該軟體的服務關閉.
(4)在安裝Windows後第一次重啟時出現:最大嫌疑可能時系統分區的磁碟空間不足或BIOS兼容有問題.
(5)如果是在關閉某個軟體時出現的:很有可能時軟體本省存在設計缺陷, 請升級或卸載它.

5、0x00000023:FAT_FILE_SYSTEM
0x00000024:NTFS_FILE_SYSTEM
◆錯誤分析:0x00000023通常發生在讀寫FAT16或者FAT32文件系統的系統分區時, 而
0x00000024則是由於NTFS.sys文件出現錯誤(這個驅動文件的作用是容許系統讀寫使用
NTFS文件系統的磁碟). 這兩個藍屏錯誤很有可能是磁碟本身存在物理損壞, 或是中斷要求封包(IRP)損壞而導致的. 其他原因還包括:硬碟磁碟碎片過多; 文件讀寫操作過於頻繁, 並且數據量非常達或者是由於一些磁碟鏡像軟體或殺毒軟體引起的.

⑻ 蘋果平板電腦可以連接滑鼠嗎

可以,具體操作步驟如下:

1、首先要確定你的iPad已經越獄,進入Cydia搜索BTstack Mouse這個軟體,然後點擊安裝這個軟體。

5、當全部配置完成你就可以使用啦,當然還有藍牙鍵盤也可以連接,方法一樣。

⑼ 越獄滑鼠插件,除了btcmouse還有其他的嗎,著急

叉叉助手啊,

熱點內容
收到假eth幣 發布:2025-10-20 08:58:16 瀏覽:973
暗黑破壞神2eth打孔 發布:2025-10-20 08:42:58 瀏覽:105
BTC和CBT是一樣的嗎 發布:2025-10-20 08:42:57 瀏覽:233
華碩trx40Pro供電 發布:2025-10-20 08:33:26 瀏覽:432
曬人民幣編號的朋友圈 發布:2025-10-20 08:25:32 瀏覽:687
doge格式 發布:2025-10-20 08:02:00 瀏覽:382
以太坊會爆發嗎 發布:2025-10-20 08:01:59 瀏覽:772
一台比特幣礦機的功率 發布:2025-10-20 07:39:24 瀏覽:925
trx輔助帶 發布:2025-10-20 07:35:29 瀏覽:48
比特幣哈希值有多少位 發布:2025-10-20 07:31:20 瀏覽:633