найдите, на что указывает указатель мыши

#android #windows #pointers #mouse #interaction

#Android #Windows #указатели #мышь #взаимодействие

Вопрос:

На основе системы Windows (xp или 7) мы можем переместить указатель мыши в определенное положение с помощью программирования. Мой вопрос: когда указатель мыши остается над значком какого-либо файла на экране, как я могу узнать, какой это файл? (абсолютный путь к файлу)

Описание вопроса: Я хочу разработать приложение на моем Android-смартфоне, которое может удаленно управлять указателем мыши на моем ПК. Указатель мыши может перемещаться в соответствии с моими жестами на экране телефона. Когда я нажимаю на свой телефон, указатель мыши просто щелкает на моем компьютере. Наконец, после того, как я выберу один файл на экране ПК (щелкните один раз по этому файлу), некоторые специальные жесты (например, нарисуйте круг на экране телефона) могут скопировать этот файл с моего компьютера на мой телефон Android. В принципе, мне нужно настроить сервер на моем ПК и связаться с моим телефоном через Wi-Fi или Bluetooth.

Но я застрял на проблеме выше. Заранее спасибо.

Комментарии:

1. Вы этого не делаете, он указывает на пиксель. То, что пиксель нарисован программой, которая отображает значки для представления файлов, является деталью реализации этой программы. У самой программы не возникнет с этим никаких проблем, она знает, что она нарисовала и какой значок соответствует какому файлу. Посмотрите на расширения оболочки, если вы хотите возиться с Explorer.

2. Возможно, если вы описали общую проблему, которую пытаетесь решить, мы можем предложить альтернативы.

3. @HansPassant Спасибо за ваш комментарий. Управление мышью, что я хочу сделать, не принадлежит какой-либо конкретной программе. Это просто обычный. Как я могу получить информацию о пути к одному файлу, когда указатель мыши наведен на его значок? Я понятия не имею о программировании Windows. Пожалуйста, потерпите мое плохое выражение.

4. @RaymondChen Я только что дал некоторое дополнение к моей проблеме. Я действительно ценю ваше предложение.

Ответ №1:

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

Кроме того, вы можете запросить у объектной модели оболочки идентификатор сфокусированного элемента. Очень помогает то, что в вашем случае это не просто элемент, на который указывает мышь, а элемент, на который щелкнула мышь, поскольку это выбирает его.

Обратите внимание, что этот метод работает, только если пользователь выбрал элемент в окне проводника. Это не поможет с иконками в других программах.

Комментарии:

1. Большое спасибо. Но ссылка на программу scratch, упомянутая в «запросите у объектной модели оболочки идентификатор сфокусированного элемента», недоступна. Не могли бы вы показать мне несколько простых программ с нуля, использующих эту функцию? На самом деле, я хочу использовать путь к файлу для программ Java.

2. Программа находится здесь . Хотя на самом деле в программе scratch нет ничего интересного. То, что вы хотите, было в базовой статье. Программа scratch — это просто предлог для вызова функции в статье. (И функция в статье — это даже не та функция, которую вы хотите; это просто отправная точка.)