【问题标题】:java.awt.Robot: how to send mouse/keyboard events to a specific window? with cross-platform support?java.awt.Robot:如何将鼠标/键盘事件发送到特定窗口?跨平台支持?
【发布时间】:2011-11-26 06:54:31
【问题描述】:

所以从这个问题In Java Swing how do you get a Win32 window handle (hwnd) reference to a window? 看来,我可以得到 window32 句柄。 java.awt.Robot 是否可以将鼠标/键盘事件发送到该窗口句柄?

有时当我通过机器人发送密钥时,如果窗口被最小化,它将开始输入其他打开的与背景无关的窗口。我想通过允许机器人向感兴趣的特定窗口发送键和鼠标事件来防止这种情况发生。

是否有可能在 Mac 和 Linux 上实现同样的效果?能够将机器人事件发送到相应的特定窗口句柄吗?

【问题讨论】:

    标签: java window cross-platform handle awtrobot


    【解决方案1】:

    这是机器人的经典问题。正如他们在另一个线程中引用的那样,纯 AWT/Swing 是不可能的。您必须进入 sun 的内部 API 或使用本机代码。没有解决这个问题。

    正是因为您遇到的问题,即让它跨操作系统工作,这就是 Java 没有公开这样一个控件的原因。

    了解您的用途会很有用。

    【讨论】:

      猜你喜欢
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      相关资源
      最近更新 更多