从静音/播放/停止/等接收输入。戴尔Inspiron笔记本电脑前面

时间:2009-07-03 05:32:27

标签: java events button keyboard

我有一台戴尔Inspiron E1505正如您在this image中看到的那样,前面有一些按钮用于静音,播放/暂停,停止,音量控制等。静音和音量按钮实际上会影响音量计算机本身的设置,但其他设置也可用于控制其他一些应用程序,如Windows Media Player甚至Pandora

如何编写响应这些按钮输入的应用程序?我还没有特定的应用程序,所以任何语言的解决方案都会很棒。

我尝试在Java Swing中设置KeyListener,并查看被触发的事件:

JFrame frame = new JFrame();
frame.addKeyListener(new KeyListener() {

  @Override public void keyPressed(KeyEvent e) {
    System.out.println("pressed: " + e);
  }

  @Override public void keyReleased(KeyEvent e) {}

  @Override public void keyTyped(KeyEvent e) {}             
});
frame.setVisible(true);

无论我按哪个按钮,结果都是:

pressed: java.awt.event.KeyEvent[KEY_PRESSED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_STANDARD] on frame0

所以AFAIK没有办法区分不同的按钮。同样,我会接受任何语言的解决方案,因为我还没有考虑任何具体的应用程序。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Windows,则需要查看WM_APPCOMMAND窗口消息。这就是WMP和朋友们的做法。