java串口模拟键盘(java 模拟鼠标键盘操作)

发布时间:2022-11-10

本文目录一览:

  1. java robot 模拟键盘输入
  2. 如何用java的jna模拟键盘按键
  3. 如何用JAVA实现键盘的模拟按下松开
  4. 如何在java中调用键盘命令

java robot 模拟键盘输入

之前玩某网游的时候写过一个。 我是先记录需要单击鼠标的位置,用MouseInfo类获取鼠标在屏幕的位置好像,然后按某键将这点的坐标记录下来。然后让robot先在该点的坐标单击一下,就可以输入了。

如何用java的jna模拟键盘按键

这个比较简单的,用 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);
        // ...
    }
}

如何用JAVA实现键盘的模拟按下松开

这个比较简单的,用 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);
        // ...
    }
}

如何在java中调用键盘命令

RunTime.exec("这里是命令");

那就首先说点Runtime类吧,他是一个与JVM运行时环境有关的类,这个类是Singleton的。我说几个自己觉得重要的地方。

  1. Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。
  2. Runtime上其他大部分的方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。
  3. Runtime中的exit方法是退出当前JVM的方法,估计也是唯一的一个吧,因为我看到System类中的exit实际上也是通过调用Runtime.exit()来退出JVM的,这里说明一下Java对Runtime返回值的一般规则(后边也提到了),0代表正常退出,非0代表异常中止,这只是Java的规则,在各个操作系统中总会发生一些小的混淆。
  4. Runtime.addShutdownHook()方法可以注册一个hook在JVM执行shutdown的过程中,方法的参数只要是一个初始化过但是没有执行的Thread实例就可以。(注意,Java中的Thread都是执行过了就不值钱的哦)
  5. 说到addShutdownHook这个方法就要说一下JVM运行环境是在什么情况下shutdown或者abort的。文档上是这样写的,当最后一个非精灵进程退出或者收到了一个用户中断信号、用户登出、系统shutdown、Runtime的exit方法被调用时JVM会启动shutdown的过程,在这个过程开始后,他会并行启动所有登记的shutdown hook(注意是并行启动,这就需要线程安全和防止死锁)。当shutdown过程启动后,只有通过调用halt方法才能中止shutdown的过程并退出JVM。 那什么时候JVM会abort退出那?首先说明一下,abort退出时JVM就是停止运行但并不一定进行shutdown。这只有JVM在遇到SIGKILL信号或者windows中止进程的信号、本地方法发生类似于访问非法地址一类的内部错误时会出现。这种情况下并不能保证shutdown hook是否被执行。