2009-10-10 156 views

回答

2

不容易,因为光标在程序屏幕上的位置仅仅是该程序中的一个数据点并且表示该光标是在程序中运行的方法。 (我读了你的问题意味着有问题的程序/编辑器是从Java程序的完全独立的过程,对吧?)

理论上可以做到这一点,如果:

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

  • 您可以非常快速地捕获该程序的实际屏幕抓图,分析图像差异,并在程序的屏幕没有显示的情况下从显示/消失矩形或短线推断光标位置。 t保存光标闪烁。

    • 如果您在编辑器中需要相对的(例如,在字符,而不是像素#的#)的位置,然后以某种方式使用边缘识别人编辑尺寸,一些先进的图像处理魔术演绎字体大小,并计算字符基于偏移量。
  • 如果编辑器使用标准的操作系统(如Windows)API来绘制两个编辑窗口,光标,它理论上可能是合理的挂接到系统的拦截这些调用 - 我不posess近这些API可能是什么或甚至是否存在这些API的知识数量,拦截它们的可能性,以及Java程序是否能够做到这一点,即使这在理论上是可能的。

+0

确定吗?游标的位置是我认为的系统属性。看看这个程序如何确定位置:http://www.deepskyblue.net/software/sanvient/en/ – dede 2009-10-10 23:55:34

+0

我不太确定那件事 - 你能描述一下你指的确切的功能吗?该手册的很薄 – DVK 2009-10-11 00:03:33

+0

你可以下载sanvient,看看我的意思,它是简单的剪贴板工具(并且不,它不是病毒,木马等等等等)。例如,当你按下CTRL + E时,无论在什么应用程序中,它都是输入光标上方的窗口。所以,如果我在记事本中,并按CTRL + E清晰的地方,它就是光标上方的窗口。 – dede 2009-10-11 00:54:21

0

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

+0

好吧,它远离病毒,间谍软件,恐怖等等。我试图为Adobe AIR社区做一些开发人员的实用程序,但我需要一些Java功能,以便将其与Merapi项目集成。 – dede 2009-10-11 00:40:36