Автор Тема: дублирование мыши  (Прочитано 292 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
дублирование мыши
« : Февраль 22, 2021, 09:06:58 pm »
Здравствуйте! Меня интересует, есть ли возможность дублирования мыши с помощью clickermann во 2 окно или в другую win?
Есть нечто нужное: https://www.youtube.com/watch?v=_8-JjlYYMUo
Но мне трудно разобраться в данной программе, а учитывая, что кликер может узнавать положение курсора и сам его перемещать, я думаю это возможно.
Заранее спасибо!

Космич

  • Активный участник
  • ***
  • Сообщений: 253
    • Просмотр профиля
Re: дублирование мыши
« Ответ #1 : Февраль 23, 2021, 04:52:37 am »
Почти как в видео.
Код: Clickermann
  1. #define #MK_LBUTTON:     0x0001
  2.  
  3. #define #WM_MOUSEMOVE:   0x0200
  4. #define #WM_LBUTTONDOWN: 0x0201
  5. #define #WM_LBUTTONUP:   0x0202
  6.  
  7. $arr_hwnd[0] = HGET(INT($_xmax * 0.25), INT($_ymax * 0.5))
  8. $arr_hwnd[1] = HGET(INT($_xmax * 0.75), INT($_ymax * 0.5))
  9.  
  10. WNDGETINFO($arr_hwnd[0], $left, $top, $width, $height)
  11.  
  12. SETTHREAD(TH_DUP_MOUSE, 1)
  13.  
  14. WHILE(#TRUE)
  15.   IF(ISKEYDOWN(1) = 1)
  16.      $K = 1
  17.      WHILE(ISKEYDOWN(1) = 1)
  18.          WAITMS(1)
  19.      END_CYC
  20.      $K = 2
  21.      WHILE($K = 2)
  22.         WAITMS(1)  
  23.      END_CYC
  24.   END_IF
  25. END_CYC
  26.  
  27. THREAD(TH_DUP_MOUSE, 0)
  28.   $x = $_xmouse - $left
  29.   $y = $_ymouse - $top
  30.   SWITCH($K)
  31.   CASE(0)
  32.      SENDMESSAGE($arr_hwnd[1], #WM_MOUSEMOVE,   #NULL,       $x + ($y * 65536))
  33.   CASE(1)
  34.      SENDMESSAGE($arr_hwnd[1], #WM_LBUTTONDOWN, #MK_LBUTTON, $x + ($y * 65536))
  35.   CASE(2)
  36.      SENDMESSAGE($arr_hwnd[1], #WM_LBUTTONUP,   #MK_LBUTTON, $x + ($y * 65536))
  37.      $K = 0
  38.   END_SWITCH
  39.   WAITMS(5)
  40. END_THREAD

Если бы я не видел кода из видео, то я бы сделал примерно так.
Код: Clickermann
  1. $arr_hwnd[0] = HGET(INT($_xmax * 0.25), INT($_ymax * 0.5))
  2. $arr_hwnd[1] = HGET(INT($_xmax * 0.75), INT($_ymax * 0.5))
  3.  
  4. WNDGETINFO($arr_hwnd[0], $left, $top, $width, $height)
  5.  
  6. STRSEPARATE("0:0x0200:0x0000:1:0x0201:0x0001:0:0x0202:0x0001:1:0x0200:0x0000", ":", $arr_state)
  7.  
  8. WHILE(#TRUE)
  9.   $i = $state * 6 + ISKEYDOWN(1) * 3
  10.   $state = $arr_state[$i]
  11.   SENDMESSAGE($arr_hwnd[1], $arr_state[$i + 1], $arr_state[$i + 2], ($_xmouse - $left) + (($_ymouse - $top) * 65536))
  12. END_CYC
« Последнее редактирование: Февраль 25, 2021, 12:52:31 am от Космич »
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #2 : Февраль 23, 2021, 10:05:09 am »
"Почти как в видео."
Да, точно так же не понятно, как этим пользоваться :)
Надеюсь разберусь, спасибо большое!

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #3 : Февраль 23, 2021, 10:31:16 am »
Пытался привязать окно, как тут: https://www.youtube.com/watch?v=opRvArLJKuI
даже если я привязываю его к блокноту - "цвет 0"
Я хочу привязать к Vmware (виртуальная машина), как вариант можно включить "единый режим" и тогда окна другой винды будут в основной машине.
Единственное к чему у меня нормально привязывается кликер - это рабочий стол и панель задач. В остальных окнах после alt + W цвет меняется на 0
В чём может быть проблема?

Космич

  • Активный участник
  • ***
  • Сообщений: 253
    • Просмотр профиля
Re: дублирование мыши
« Ответ #4 : Февраль 23, 2021, 02:49:36 pm »
"Почти как в видео."
Да, точно так же не понятно, как этим пользоваться :)
Надеюсь разберусь, спасибо большое!

https://youtu.be/LWrEYuWNQwk

Я хочу привязать к Vmware (виртуальная машина)
вот тут я вообще фиг знает, не пользовался
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #5 : Февраль 23, 2021, 04:56:57 pm »
Попробовал скрипт. В паинте всё просто замечательно! Даже 2 паинта с разных win работают отлично. В видео сделал немного стрелочек и галочек. Вероятнее всего 3д приложения используют захват мыши?
https://youtu.be/XGDQF9CpI64
« Последнее редактирование: Февраль 23, 2021, 04:59:55 pm от Dimka4369 »

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #6 : Февраль 23, 2021, 05:28:54 pm »
К сожалению другие варианты тоже не помогли...
Я восхищён вашим кодом, может вы попробуете эту тему:
http://crapware.aidf.org/forum/index.php?topic=5500.0

Космич

  • Активный участник
  • ***
  • Сообщений: 253
    • Просмотр профиля
Re: дублирование мыши
« Ответ #7 : Февраль 23, 2021, 06:06:39 pm »
С изучением особенностей в играх не ко мне, я только с кодом могу помочь)
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #8 : Февраль 23, 2021, 06:11:41 pm »
Дак вот мне и нужен код, у моих скриптов проблемы.
Суть: крутим камеру влево до определённой координаты, пусть будет 0 (желательно быстро), вправо до 1920, если в это время появится цвет 64503 зажать "1" на 1 сек и дальше крутить.
Вроде просто, но у меня возникают проблемы или я пишу код на 200+ строк

kiril

  • Освоившийся
  • **
  • Сообщений: 27
    • Просмотр профиля
Re: дублирование мужа
« Ответ #9 : Февраль 23, 2021, 08:40:20 pm »
Вроде просто, но у меня возникают проблемы или я пишу код на 200+ строк
да хоть на +100500 строк, главное работоспособность, а не понты с размером кода.

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #10 : Февраль 24, 2021, 12:27:42 am »
К сожалению производительность моего кода очень маленькая (если вообще есть результат), поэтому и пишу сюда :)
Может тогда попробовать повторять 5 клавиш клавиатуры? Если не сложно добавляются, то желательно 11. QWEASD и 84620 на доп. клавиатуре, знаю я программы с перемещением курсора при нажатии циферок, поставлю на 2 винды и должно быть нормально. Даже не представляю возможно или нет, но если возможно - лучше 2 окно вообще не видеть, в фоне как-нибудь...
« Последнее редактирование: Февраль 24, 2021, 12:32:58 am от Dimka4369 »

ya12

  • Активный участник
  • ***
  • Сообщений: 154
    • Просмотр профиля
Re: дублирование мыши
« Ответ #11 : Февраль 24, 2021, 11:19:42 am »
Если игра защитой не прикрыта, попробуй поковырять ее память с помощью Cheat Engine.
Тебе нужно найти базовый адрес и смещение в котором расположен угол поворота камеры.


Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #12 : Февраль 24, 2021, 02:28:21 pm »
Вроде как "прикрыта". Файлы извлечь невозможно, мешающийся easy anticheat и я слышал за использование cheat engine дают бан. Можно конечно попробовать спрятать программу в виде чего-нибудь системного... Так то я использовал эту программу, но как реализовать "базовый адрес и смещение в котором расположен угол поворота камеры" понятия не имею. Как это можно вычислить?
« Последнее редактирование: Февраль 24, 2021, 02:43:30 pm от Dimka4369 »

Dimka4369

  • Освоившийся
  • **
  • Сообщений: 24
    • Просмотр профиля
Re: дублирование мыши
« Ответ #13 : Февраль 24, 2021, 02:42:44 pm »
Мне хотя бы кнопки дублировать, мышь подождёт, никуда не исчезнет. Идеально дублировать в окно, которое не видно на экране. Но если это сложно, то не нужно.

ya12

  • Активный участник
  • ***
  • Сообщений: 154
    • Просмотр профиля
Re: дублирование мыши
« Ответ #14 : Февраль 24, 2021, 05:15:19 pm »
В Настройки - Параметры отладчика : Использовать VEH отладчик (или отладчик в режиме ядра)
                    - Дополнительно : Процедуры обращения к региону памяти
                                                : Чтение/Запись Памяти Процесса

Выбрать процесс и найти 0, если с 0 не прокатит, то не известное значение (тип для 32х - 4 байт, float; для 64х - 4/8 байт, float/double).
Повернуть камеру влево или вправо, не изменяя угла наклона, сделать отсев изменившихся значений. Повторять до тех пор пока не останется не большое количество вариантов. В ручную не много изменить значение, если камера повернулась, значит нужный адрес найден.

Значение угла поворота лежит в диапазоне от 0 до +- X, где 0 это направление на одну из сторон света (север, юг, запад, восток) или прямо по курсу, а X - смещение от 0 вправо/влево (может принимать довольно большие значения, в одной игрушке при 360 градусном обзоре это значение равнялось -32000).