2009-10-10 2 views

ответ

2

Нелегко, так как положение курсора на экране программы - это просто точка данных внутри этой программы и рендеринг этого курсора - это метод, запущенный в программе. (Я читаю ваш вопрос означает, что программа/редактор вопрос является полностью отдельным процессом от вашей программы Java, верно?)

Вы можете теоретически это сделать, если:

  • Программы в явном виде экспорт через некоторые API вызывает местоположение курсора

  • Вы очень быстро фиксируете фактические screengrabs этой программы, анализируете разницу изображений и выводите местоположение курсора из появляющегося/исчезающего прямоугольника или короткой строки в случае, если экран программы не был " t change save для курсора мигает.

    • Если вам нужно относительное (например, # символьных вместо # пикселей) расположение в редакторе, а затем какой-то образом использовать распознавание краев для определения размера редактора, некоторые передовые обработки изображений магии вывести размер шрифта, и вычислить характер основанные на смещениях.
  • Если редактор использует стандартную ОС (например, Windows) API, чтобы сделать оба окна редактирования и курсор, он может теоретически быть правдоподобным вклиниться в систему, чтобы перехватить эти вызовы - я не принадлежать почти сколько знаний о том, что эти API могут быть или если такие существуют, насколько это возможно, чтобы перехватить их, и могут ли программы Java сделать это, даже если это возможно теоретически.

+0

Уверены ли вы? Позиция курсора - системное свойство, я думаю. Посмотрите, как эта программа может определить позицию: http://www.deepskyblue.net/software/sanvient/en/ – dede

+0

Я не совсем уверен, что это делает - не могли бы вы описать точную функциональность, о которой вы говорите? Руководство довольно тонкое – DVK

+0

Вы можете скачать sanvient и посмотреть, что я имею в виду, это простая утилита для буфера обмена (и нет, это не вирус, троян, бла, бла!). Например, когда вы нажимаете CTRL + E sanvient, это окно прямо над курсором ввода независимо от того, в каком приложении оно находится. Поэтому, если я в блокноте и нажимаю CTRL + E, поставьте его прямо над курсором. – dede

0

Вопрос здесь не в том, что возможно или нет, вопрос в какой цели должен я хочу сделать это? Честно говоря, я не вижу никакой причины, и я устал от раздражающих мини-приложений, которые действуют как шпионские программы. Вы пытаетесь дублировать существующее приложение в другой форме массового террора? Прошу прощения, если вы найдете мой комментарий, но это мой ответ. Другой вопрос: почему?

+0

Ну, это далеко от вирусов, шпионских программ, террора и т. Д. Я пытаюсь создать некоторую утилиту разработчика для сообщества Adobe AIR, но мне нужны некоторые функции Java, поэтому я могу интегрировать их с проектом Merapi. – dede

Смежные вопросы