标签: awtrobot

将KeyEvents发送到进程

我正在尝试从我的Java程序向游戏模拟器发送键盘命令,我知道如何设置processprocessbuilder并运行该过程.

但是,我仍然无法从我的发送过程键盘命令Robot.

一个InputStream不会有太大的帮助,因为我需要发送keyEvents,如按"Y"键,并相应地具有模拟器响应.

java process keyevent processbuilder awtrobot

5
推荐指数
1
解决办法
1747
查看次数

如何使机器人按住鼠标按钮一段时间?

我正在使用Java来使用Robot类生成鼠标按下:

robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
Run Code Online (Sandbox Code Playgroud)

但是,我希望机器人按下按钮一段时间.我怎样才能做到这一点?

java swing mouseevent awtrobot

4
推荐指数
1
解决办法
2万
查看次数

尝试使用Java BufferedImage,Graphics将图像绘制到JFrame

我正在尝试捕获屏幕,然后在缩放图像时递归地将图像绘制到JFrame(以创建当您在镜像中查看镜像时获得的效果).

我的代码有问题 - 它不会绘制任何图形.我究竟做错了什么?

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;


public class ScreenCapture extends JFrame {

    BufferedImage screenCapture;
    Graphics screenCaptureGraphics;
    private static int recurseCount = 0;
    private static float $scale = 0.9f;
    private static float scale = 1.0f;
    private static int height;
    private static int width;

    ScreenCapture() {
        try {
            screenCapture = new Robot().createScreenCapture(
                       new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
            height = screenCapture.getHeight(); …
Run Code Online (Sandbox Code Playgroud)

java graphics swing bufferedimage awtrobot

4
推荐指数
2
解决办法
3337
查看次数

Java中的屏幕捕获无法捕获整个屏幕

我有一小段代码用于跟踪时间 - 很简单,它每隔四分钟拍摄一次我的桌面照片,以便稍后我可以回过头来看看我白天做的事情 - 它很棒,除非我连接到外接显示器 - 这个代码只需要我的笔记本电脑屏幕的屏幕截图,而不是我正在使用的更大的外部显示器 - 任何想法如何更改代码?我正在运行OSX,以防相关......

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;

class ScreenCapture {
    public static void main(String args[]) throws
        AWTException, IOException {
            // capture the whole screen
int i=1000;
            while(true){
i++; 
                BufferedImage screencapture = new Robot().createScreenCapture(
                        new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );

                // Save as JPEG
                File file = new File("screencapture"+i+".jpg");
                ImageIO.write(screencapture, "jpg", file);
try{
Thread.sleep(60*4*1000);
}
catch(Exception e){
e.printStackTrace();
}

            }
        }
}
Run Code Online (Sandbox Code Playgroud)

根据给出的解决方案,我做了一些改进,感兴趣的代码在https://codereview.stackexchange.com/questions/10783/java-screengrab进行代码审查.

java macos screen awt awtrobot

4
推荐指数
1
解决办法
1422
查看次数

在Windows下模拟打印屏幕

我知道我们可以使用以下代码模拟打印屏幕:

 robot.keyPress(KeyEvent.VK_PRINTSCREEN);
Run Code Online (Sandbox Code Playgroud)

..但那么如何归还一些BufferedImage

我在Google上找到了一些调用方法,getClipboard()但Netbeans在这个方法上给我一些错误(找不到符号).

我很遗憾地问这个,但是有人可以告诉我一个关于如何从这个按键返回的工作代码,BufferedImage然后我可以保存吗?

java netbeans bufferedimage printscreen awtrobot

4
推荐指数
1
解决办法
1815
查看次数

Java awt.Robot:CTRL + ALT + DEL不会显示所需的屏幕

我刚刚发现了awt.Robot库,我很高兴能够使用它.我以为我会对我的朋友玩一个小恶作剧,并有机器人按下控制,alt,删除按下锁定电脑按钮但我无法让程序调出控制alt删除屏幕.

这是我的代码:

import java.awt.*;
import java.awt.event.KeyEvent;
public class Bot {
public static void main(String[] args)
{
    try {
        Robot bot = new Robot();
        bot.delay(4000);
        bot.keyPress(KeyEvent.VK_CONTROL);
        bot.delay(100);
        bot.keyPress(KeyEvent.VK_ALT);
        bot.delay(100);
        bot.keyPress(KeyEvent.VK_DELETE);
        bot.delay(500);
        bot.keyRelease(KeyEvent.VK_CONTROL);
        bot.keyRelease(KeyEvent.VK_ALT);
        bot.keyRelease(KeyEvent.VK_DELETE);
    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

public static void pressEnter(Robot bot)
{
    bot.keyPress(KeyEvent.VK_ENTER);
    bot.delay(40);
    bot.keyRelease(KeyEvent.VK_ENTER);
}
}
Run Code Online (Sandbox Code Playgroud)

java awt awtrobot

4
推荐指数
1
解决办法
2273
查看次数

Java Robot鼠标移动:设置速度?

Java Robot类允许您移动鼠标,就像移动实际的物理鼠标一样。

但是,如何以人性化的方式(因此不是即时的)将鼠标从Point1移到Point2?又名,如何设置运动速度?

如果用Robot类无法达到这样的速度,那么如果鼠标只能瞬时移动,那么应该使用哪种“算法”来模仿人类的鼠标运动?是否应该以一定的增量逐像素移动鼠标?

java mouse performance velocity awtrobot

3
推荐指数
1
解决办法
5424
查看次数

Robot的getPixelColor(int x,int y)方法如何工作?

Robot类的方法getPixelColor(int x,int y)究竟是如何工作的?我试过这个代码片段:

try 
{
     Robot robos = new Robot();
}
catch (AWTException e) 
{

}

for (int i = 0; i < 100; i++)
    robos.getPixelColor(0, 0);

System.out.println("fsadf");
Run Code Online (Sandbox Code Playgroud)

在我的PC上,这是一个核心的2人组合,并且花了一秒或更少的时间来执行print语句.但是,当我在我的笔记本电脑上运行相同的代码时,这是一个核心i3,它花费了更多的时间(大约2-3秒).

这背后的原因是什么?它是否与屏幕质量或类似的东西有关?我怎么解决这个问题?

java time pixel colors awtrobot

3
推荐指数
1
解决办法
4132
查看次数

机器人类喜欢android的类

可能重复:
Android API,如java.awt.Robot

在java中是否还有像Robot类一样的其他类,或者我们可以在android中使用Robot类吗?

java android class awtrobot

3
推荐指数
1
解决办法
3510
查看次数

使用 Java 中的 Robot 类模拟“Fn”按键

我正在尝试编写一个小程序,每当我收到电子邮件/文本/其他类型的消息时,它都会使我的笔记本电脑键盘的背光闪烁。我正在尝试使用 Java 的 Robot 类来执行此操作。

到目前为止,我的问题是我似乎找不到“Fn”键的键码。

java awtrobot

3
推荐指数
1
解决办法
2288
查看次数