Author Topic: координаты курсора мышки на экране  (Read 10412 times)

0 Members and 1 Guest are viewing this topic.

Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Доброго времяни суток, подскажите, есть ли возможность узнать координаты курсора мышки на экране, своём и чужом окне. Если да, то как?
У меня кликер работает, примерно раз в 30 - 50 сек, в чате общаюсь, или в инете ищу что либо. Не удобно, мышка уходит на клик, и опять тянешь её туда где до этого она была. А так запомнил окно, координаты курсора мышки , кликнул где нужно, меньше секунды делов, и восстановил положение и фокус, для чата вообще класс.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: координаты курсора мышки на экране
« Reply #1 on: March 18, 2015, 06:32:00 AM »
Code: (clickermann) [Select]
$HWND = HGET($_xmouse,$_ymouse) // запоминаем HWND окна под курсором
$sx = $_xmouse // запоминаем положение курсора
$sy = $_ymouse

LCLICK(10,10) // кликаем
MOVE($sx,$sy) // возвращаем курсор на место
WNDBUMP($HWND) // поднимаем окно выше все, возвращаем фокус
WAIT(30)

Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: координаты курсора мышки на экране
« Reply #2 on: March 18, 2015, 11:12:14 AM »
Спасибо большое, то что нужно, подчти :(.  Извините, что вопрос поставил не полный. Х и У курсора мыши я получил, а как получить координаты курсора (мигающего), в поле ввода текста, и потом вернуть его на место.
И ещё один вопрос, не по теме:
1)
Code: (clickermann) [Select]
IF_PICTURE_IN ($x, $y, $x1, $y1, "close.bmp", -1, 70)   Файл close.bmp при каждом выполнении этой строки грузится с диска ?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: координаты курсора мышки на экране
« Reply #3 on: March 18, 2015, 12:59:41 PM »
Нужно прописать клик в поле ввода, только так.

Да каждый раз.


Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: координаты курсора мышки на экране
« Reply #4 on: March 18, 2015, 02:14:36 PM »
Я понимаю, что нужно прописать клик в поле ввода, но как узнать где это поле ввода и координаты мигающего курсора.
Ведь координаты курсора мышки и  координаты мигающего курсора на поле ввода, как правило разные.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: координаты курсора мышки на экране
« Reply #5 on: March 18, 2015, 02:16:55 PM »
В редакторе показываются координаты!

Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: координаты курсора мышки на экране
« Reply #6 on: March 18, 2015, 02:35:10 PM »
Quote
В редакторе показываются координаты!

В редакторе показываются координаты курсора мышки, a как определить HWND окна под курсором ввода текста и координаты курсора в тексте.
 Вот например я сейчас пишу свой вопрос в Опере, а курсор мышки находится на окне редактора кликера, оно не активно, просто я его сдвинул с поля ввода текста, чтоб он не мешал.
    Как определить HWND окна и координаты курсора в строке где я набираю текст ?

Quote
Да каждый раз.
А поместить в память и сравнивать не как нельзя?
Иначе это убьёт мне жёсткий диск.
 

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: координаты курсора мышки на экране
« Reply #7 on: March 18, 2015, 02:37:49 PM »
Я понимаю, что нужно прописать клик в поле ввода, но как узнать где это поле ввода и координаты мигающего курсора.
Ведь координаты курсора мышки и  координаты мигающего курсора на поле ввода, как правило разные.
Мигающий курсор, это не курсор мыши. Он выводится системой на элементах inputbox (и др.) если на него переведён фокус.
Средствами кликера нельзя узнать на каком окне и поле фокус (чтобы запомнить), а так же позицию ввода (её помнит само приложение). Остаётся только искать графически и запоминать координаты и после возврата кликать.
« Last Edit: March 18, 2015, 02:41:48 PM by Vint »


Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: координаты курсора мышки на экране
« Reply #8 on: March 18, 2015, 03:40:59 PM »
Спасибо, понятно. А по второму вопросу, что подскажите.
Code: (clickermann) [Select]
  IF_PICTURE_IN ($x, $y, $x1, $y1, "close.bmp", -1, 70)
Quote
Файл close.bmp при каждом выполнении этой строки грузится с диска ?
Да каждый раз.
А поместить в память и сравнивать не как нельзя?
Иначе это убьёт мне жёсткий диск.
 

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: координаты курсора мышки на экране
« Reply #9 on: March 18, 2015, 03:50:41 PM »
Quote
В редакторе показываются координаты!

В редакторе показываются координаты курсора мышки, a как определить HWND окна под курсором ввода текста и координаты курсора в тексте.
 Вот например я сейчас пишу свой вопрос в Опере, а курсор мышки находится на окне редактора кликера, оно не активно, просто я его сдвинул с поля ввода текста, чтоб он не мешал.
    Как определить HWND окна и координаты курсора в строке где я набираю текст ?
Я имею ввиду напиши прямо куда тебе нужно кликнуть без всяких определялок. Естественно твой чат должен быть всегда на одном месте.
Можно конечно икать ориентир и по нему вычислять положение чата.

Quote
Да каждый раз.
А поместить в память и сравнивать не как нельзя?
Иначе это убьёт мне жёсткий диск.
 
С какого перепугу ты так подумал? Кликер читает а не записывает! Если ты про SSD то читать от там можно бесконечно а вот запись, да, убивает.

Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: координаты курсора мышки на экране
« Reply #10 on: March 18, 2015, 04:39:31 PM »
Quote
С какого перепугу ты так подумал? Кликер читает а не записывает! Если ты про SSD то читать от там можно бесконечно а вот запись, да, убивает.

Копирование файлов,просмотр видео, ауди, Windows и т.д. всё это обращение к диску, изменение позиции считывающей головки, а тут ещё раз ........ вообщем много раз в сек, дёргаем её. Сам диск, Вы правы от чтения не изнашивается, но есть ещё и Механическая составляющая, а она как правило и подводит.
А если с флешки Кликер запускать ? Он и файл подгружать с неё же будет ?
Идея, спасибо.


Quote
Я имею ввиду напиши прямо куда тебе нужно кликнуть без всяких определялок. Естественно твой чат должен быть всегда на одном месте.
Можно конечно икать ориентир и по нему вычислять положение чата.

Спасибо, я понял. Курсор Мышки можно специально оставлять в поле чата, как метку, а с текстом пока не понятно, он же всегда меняется, если б в Delphi то скопировать строку, определить её длинну, кликнуть после последнего символа. А тут я ещё не разобрался.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: координаты курсора мышки на экране
« Reply #11 on: March 18, 2015, 04:55:22 PM »
Копирование файлов,просмотр видео, ауди, Windows и т.д. всё это обращение к диску, изменение позиции считывающей головки, а тут ещё раз ........ вообщем много раз в сек, дёргаем её. Сам диск, Вы правы от чтения не изнашивается, но есть ещё и Механическая составляющая, а она как правило и подводит.
А если с флешки Кликер запускать ? Он и файл подгружать с неё же будет ?
Идея, спасибо.

У ЖД, вроде как, кэш есть!


То есть последние считанные данные хранятся в памяти и от туда же берутся. А не как ты думаешь каждый раз головка физически читает данные.
В обще фигней там не страдай по этому поводу...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: координаты курсора мышки на экране
« Reply #12 on: March 18, 2015, 05:43:03 PM »
Спасибо, я понял. Курсор Мышки можно специально оставлять в поле чата, как метку, а с текстом пока не понятно, он же всегда меняется, если б в Delphi то скопировать строку, определить её длинну, кликнуть после последнего символа. А тут я ещё не разобрался.

А покажи, как бы ты сделал там, где разобрался. Просто интересно. Длина в символах это ещё не длина строки в пикселах. Нужно само название шрифта, размер шрифта... а если шрифт не моноширинный то дело очень усложняется + Bolt + italic.

Не говорю, что нельзя найти, но не так просто как ты представляешь.


Aleks

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: координаты курсора мышки на экране
« Reply #13 on: March 18, 2015, 06:55:27 PM »
Quote
А покажи, как бы ты сделал там, где разобрался

скопировать строку -- так как фокус в текстовом поле -- Эмуляция нажатия Ctrl+A             (Выделяем всё что есть в текстовом поле) копируем выделенное*
 
определяем нижний правый угол выделенного поля по цвету или ещё как
   Вставляем скопированное *
 
кликнуть после последнего символа -- клик по полученным ранее х.у
* можно без копирования, просто боюсь что б не потерялася напечатанный текст(пробовать нужно)
Примерно как то так, или нужен код?


Quote
У ЖД, вроде как, кэш есть!

Ну да, есть и даже на cd и dvd приводах, только кешь совсем не для того что б туда жд поместил файл какой мне часто нужен.

Кэширование записей на дисках в Windows 7

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

Спасибо за дискуссию.