java.awt.Robot
成都做网站、成都网站制作、成都外贸网站建设介绍好的网站是理念、设计和技术的结合。成都创新互联公司拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。
//模拟Ctrl+Alt+Z的按下和抬起
public void keyBoardDemo()
{
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_Z);
}
你这个功能我做过,需要让java在windows中注册一个全局的热键监听,默认的java热键只有在打开java主界面时才生效,需要引入第三方的叫jintellitype的东西,同时将一个dll文件复制到你的system32下,然后自己注册热键定义,才能捕获非焦点状态下的热键,,具体的jintellitype的使用你自己搜吧,有挺多的,也挺简单
这个比较简单的,用 java.awt.Robot 来实现就行了。
Robot 对象有几个个方法就是操作键盘的:
void keyPress(int kc);
void keyRelease(int kc);
//例子
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class RobotTest {
private static Robot rbt;
static{
try {
rbt=new Robot();
} catch (AWTException e) {e.printStackTrace();}
}
//按下
static void press(int kc){rbt.keyPress(kc);}
//释放
static void release(int kc){rbt.keyRelease(kc);}
static void type(int kc){press(kc);release(kc);}
public static void main(String[] args) {
//F7 长按
//press(KeyEvent.VK_F7);
//F7按一下
type(KeyEvent.VK_F7);
//...
}
}