Я написал следующий скрипт «Обработка» с использованием класса «Робот» Java, и он отлично работает на Windows и Mac. Однако, если я открываю приложение, например, игру, клики не работают! Игра, которую я пробовал, была Battlefield 4. Вот код щелчка мыши;Отправить keystokes в других приложениях
import processing.serial.*;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
Serial myPort;
String val;
Robot mouseBot;
void setup(){
String portName=Serial.list()[0];
myPort = new Serial(this, portName, 9600);
try {
mouseBot = new Robot();
}
catch(AWTException e) {
e.printStackTrace();
}
}
void draw() {
if(myPort.available()>0)
{
if(myPort.read()==1)
{
mouseBot.mousePress(InputEvent.BUTTON1_MASK);
mouseBot.mouseRelease(InputEvent.BUTTON1_MASK);
}
}
}
Как я уже говорил, я могу щелкнуть по родной Windows или родной OSX, и он отлично работает. Но играть, клики не регистрируются. Есть ли другой способ отправки команд мыши, чтобы он мог быть распознан в других приложениях? Благодаря!
Carpetfizz
Большинство игр либо наивности блокировать этот вид поведения или это не выполняется достаточно низко в OS API для игры, чтобы распознать его. – MadProgrammer
Спасибо большое, я просто попробовал это в другой игре (Arma III), и все получилось отлично. Не возражаете ли вы опубликовать это как ответ, чтобы я мог принять его? Благодаря! – Carpetfizz