我正在尝试使用Java机器人类中的Windows热键(Shift + Windows +左/右)将窗口移至其他监视器。这是我用机器人模拟多次按键的方法。
private static void doType(int... keyCodes) {
for(int i=0; i<keyCodes.length; i++) {
robot.keyPress(keyCodes[i]);
if(i>0) {
pause(100);
}
}
pause(200);
for(int i=keyCodes.length-1; i>-1; i--) {
if(i>0) {
pause(100);
}
robot.keyRelease(keyCodes[i]);
}
}
我这样称呼它。
doType(KeyEvent.VK_WINDOWS, KeyEvent.VK_SHIFT, direction);
根据我要移动窗口的方式,将方向变量设置为KeyEvent.LEFT或KeyEvent.RIGHT。暂停方法只是使线程休眠。
doType方法似乎适用于每种键组合,但是由于某种原因,当我用此组合键运行它时,它只会将窗口移到屏幕的一侧(而不是下一个监视器)。这使我认为它只是在做(Windows +方向键)而不需要移动。任何帮助将不胜感激!