gpt4 book ai didi

java - 字符转十六进制参数

转载 作者:行者123 更新时间:2023-11-30 04:20:33 25 4
gpt4 key购买 nike

我正在尝试使机器人打字方法变得更加简单。KeyEvent 中的大多数键码都是十六进制代码。

计划:

  1. 字符串char[]
  2. for-each 通过 char[]
  3. 查找(int)char的十六进制值
  4. keyPress((int)char 的十六进制值)
  5. keyRelease((int)char 的十六进制值)

到目前为止我所拥有的:

import java.awt.*;
import java.awt.event.*;
public class Driver
{
private static Robot r;
public static void send(String phrase)
{
char[] chars = phrase.toCharArray();
for (char letter:chars)
{
//int hex = hex value of (int)letter
//r.keyPress(hex);
//r.keyRelease(hex);
}
}
public static void main(String[]args)
{
try
{
r = new Robot();
r.delay(5000);
send("Hello World");
}
catch(AWTException e)
{
//Nothing
}
}
}

最佳答案

ASCII 字母的键码等于其大写字符值。所以你可以执行以下操作:

char[] chars = phrase.toUpperCase().toCharArray();
for (char letter:chars)
{
int keyCode = (int)letter;
r.keyPress(keyCode);
r.keyRelease(keyCode);
}

通过此循环,字符串“Hello World”将给出“hello world”。它不适用于感叹号之类的东西。

此外,如果您不希望机器人发送大写字母,则必须模拟按下 Shift 键或大写锁定键。

但不确定这个方法是否可靠。您还可以执行大量 if/else(或 switch)来从 java.awt.event.KeyEvent 返回正确的键代码常量。

关于java - 字符转十六进制参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com