gpt4 book ai didi

java - Shift + 右箭头不使用机器人类选择文本,但几天前它曾经工作得很好

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:55 25 4
gpt4 key购买 nike

基本上,我选择了一些文本并尝试复制它;但下面的代码在运行时没有执行 Ctrl+C - 没有任何内容存储到剪贴板中 - 但手动我尝试过我的按键工作正常,但几天前它曾经工作过。您能帮我解决这个问题吗?

import java.awt.AWTException;
import java.awt.HeadlessException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.KeyEvent;
import java.io.IOException;

public class Robot_CopyPaste{

public static void main(String[] args) throws AWTException, InterruptedException, HeadlessException, UnsupportedFlavorException, IOException{

Robot robot=new Robot();
Thread.sleep(4000);

robot.keyPress(KeyEvent.VK_SHIFT);
robot.setAutoDelay(50);
robot.keyPress(KeyEvent.VK_RIGHT);
robot.setAutoDelay(50);
robot.keyPress(KeyEvent.VK_RIGHT);
robot.setAutoDelay(50);
robot.keyPress(KeyEvent.VK_RIGHT);
robot.setAutoDelay(50);
robot.keyPress(KeyEvent.VK_RIGHT);

robot.setAutoDelay(50);
robot.keyRelease(KeyEvent.VK_RIGHT);
robot.setAutoDelay(50);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.setAutoDelay(50);
System.out.println("Check1");

robot.keyPress(KeyEvent.VK_CONTROL);
robot.setAutoDelay(50);;
robot.keyPress(KeyEvent.VK_C);
robot.setAutoDelay(50);
robot.keyRelease(KeyEvent.VK_C);
robot.setAutoDelay(50);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.setAutoDelay(50);
Thread.sleep(4000);
System.out.println("Check2");
Thread.sleep(2000);
String str=(String)Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
Thread.sleep(2000);
System.out.println("Copied content is :"+str);
}
}

此代码是按住SHIFT以大写字母输入 请检查代码并告诉我 我认为问题在于 Shift + 向右箭头----

 import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

public class Robot_SendKeys {
static void sendKeys(Robot robot, String keys) {
for (char c : keys.toCharArray()) {
int keyCode = KeyEvent.getExtendedKeyCodeForChar(c);
if (KeyEvent.CHAR_UNDEFINED == keyCode) {
throw new RuntimeException(
"Key code not found for character '" + c + "'");
}
System.out.println(keyCode);
robot.keyPress(keyCode);
robot.delay(100);
robot.keyRelease(keyCode);
robot.delay(100);
}
}
public static void main(String[] args) throws AWTException {
Robot robot = new Robot();
robot.setAutoDelay(50);
robot.keyPress(KeyEvent.VK_SHIFT);
sendKeys(robot, "Test");
robot.keyRelease(KeyEvent.VK_SHIFT);
}

}

最佳答案

我在 2003 年的错误报告中找到了解决方案哈哈

为了能够使用机器人按 Shift+箭头,您需要禁用 NumLock,它实际上对我有用。我目前正在使用一个非常旧的主机屏幕,所以这实际上非常有用。我希望这对您有所帮助。

https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4909137

关于java - Shift + 右箭头不使用机器人类选择文本,但几天前它曾经工作得很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48306154/

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