1

是否可以制作Java程序来确定闪烁键盘光标的绝对位置(屏幕上的x,y)?该光标可以在任何文本编辑器中。

4

2 回答 2

2

不容易,因为光标在程序屏幕上的位置仅仅是该程序内部的一个数据点,而呈现该光标是程序中运行的一种方法。(我正在阅读您的问题,意思是所讨论的程序/编辑器是与您的 Java 程序完全独立的进程,对吗?)

理论上你可以这样做,如果:

  • 程序通过某些 API 调用显式导出光标位置

  • 您可以非常快速地捕获该程序的实际屏幕抓图,分析图像差异,并从出现/消失的矩形或短线中推断出光标位置,以防程序的屏幕没有改变保存光标闪烁。

    • 如果您需要编辑器中的相对位置(例如,以字符数而不是像素数),则以某种方式使用边缘识别来检测编辑器大小,使用一些高级图像处理魔法来推断字体大小,并计算基于字符的偏移量。
  • 如果编辑器使用标准操作系统(例如 Windows)API 来绘制编辑窗口和光标,从理论上讲,挂钩到系统以拦截这些调用可能是合理的——我几乎不知道这些 API 是什么可能存在或什至存在,拦截它们的可能性有多大,以及Java程序是否能够做到这一点,即使理论上是可能的。

于 2009-10-10T23:50:40.410 回答
0

这里的问题不是任何可能或不可能,问题是我应该出于什么目的这样做?坦率地说,我看不出任何理由,而且我厌倦了像间谍软件一样的烦人的迷你应用程序。您是否试图将现有的应用程序复制到另一种形式的大规模恐怖中?如果您发现我的评论令人反感,请原谅,但这是我的回答。另一个问题:为什么?

于 2009-10-11T00:27:29.633 回答