Перейти к содержанию

Нажатие ЛКМ в окне hWnd


Рекомендуемые сообщения

Здравствуйте.
Как можно сделать клик в неактивном окне hWnd?
Раньше работало через SendMessage, но на данный момент почему-то работает только в активном окне, тобишь в свернутом не кликает и т.д.
Игра GTA 5 RP

 

Спойлер

[DllImport("User32.dll")]
public static extern Int32 SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
public static IntPtr MakeParam(int low, int hight)
{
return (IntPtr)((low & 0xFFFF) | (hight << 16));
}

static public void Click(int x, int y)
{
SendMessage(hWnd, 0x0200, (IntPtr)0, MakeParam(x, y));
SendMessage(hWnd, 0x0201, (IntPtr)0, MakeParam(x, y));
SendMessage(hWnd, 0x0202, (IntPtr)0, MakeParam(x, y));
}

 

 

На данный момент это сделано так, но работает сейчас только в активном окне :с
Можно ли что-то придумать?
Пробовал PostMessage и т.д. - не помогает
Буду благодарен за любую помощь

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Xipho сказал:

Неактивные окна не принимают системные сообщения. Пробуй SendInput.

Суть в том, что раньше это работало, а вот после обновления Rage MP перестало ?

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Xipho сказал:

Неактивные окна не принимают системные сообщения. Пробуй SendInput.

Есть какой-нибудь пример использования данной функции для handle?
Мне просто нужно, чтобы работало в свернутом окне, можно даже любой другой способ.
Чтобы я мог передать нажатия мыши/клавиш в handle и усё.
Буду тебе очень благодарен ?

Изменено пользователем alkayde123
Ссылка на комментарий
Поделиться на другие сайты

В 20.07.2021 в 18:57, alkayde123 сказал:

На данный момент это сделано так, но работает сейчас только в активном окне :с

так сделай окно активным, самый быстрый и удобный вариант ведь?

 

 

Кстати, а в чём смысл писать на C# подобное? 

 

15 часов назад, Xipho сказал:

Есть

нет, SendInput работает со вводом вообще, для всей системы.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, youneuoy сказал:

так сделай окно активным, самый быстрый и удобный вариант ведь?

Мне нужно, чтобы можно было игру свернуть и заниматься своими делами ?

 

1 час назад, youneuoy сказал:

нет, SendInput работает со вводом вообще, для всей системы.

Воооот, а мне нужно чисто для отправки в hWnd, есть что-нибудь подобное на примете?
У одного челика получилось реализовать такую тему, а у меня не выходит

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, alkayde123 сказал:

Мне нужно, чтобы можно было игру свернуть и заниматься своими делами ?

 

кликать нужно постоянно? Если нет то установи активное окно, покликай сколько нужно и восстанови старое. Если винда десятка то вероятно возможно открыть окно на отдельном рабочем столе(не проверял) или сделать что-то ещё подобное.

1 час назад, alkayde123 сказал:

У одного челика получилось реализовать такую тему, а у меня не выходит

если это правда, то мб он с кодом игры что-то делал. Разбирайся, что тут ещё можно сказать?

1 час назад, alkayde123 сказал:

Воооот, а мне нужно чисто для отправки в hWnd, есть что-нибудь подобное на примете?

есть. Но ты выше писал, что оно не работает.

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, youneuoy сказал:

нет, SendInput работает со вводом вообще

Да, запамятовал. Давно под винду не кодил. 

 

9 часов назад, alkayde123 сказал:

Мне нужно, чтобы можно было игру свернуть и заниматься своими делами

Подними виртуалку, в ней подними игру, и саму виртуалку сверни. Для виртуалки окно останется активным, значит, изнутри виртуалки ты сможешь посылать своему окну сообщения любым способом.

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Xipho сказал:

Подними виртуалку, в ней подними игру, и саму виртуалку сверни. Для виртуалки окно останется активным, значит, изнутри виртуалки ты сможешь посылать своему окну сообщения любым способом.

Слишком заморочено, я делаю бота под игры, для себя и для друзей, каждому ставить виртуалку такое себе)

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, alkayde123 сказал:

Слишком заморочено, я делаю бота под игры, для себя и для друзей

Попробуй посмотреть на AutoHotkey, она умеет по моему нажимать на свёрнутые окна, и можно очень просто делать программы, можно совместить с другой программой через файлы, например можно управлять ahk скриптами из C#, и всё такое, ну или нужно делать инъекцию кода в игру что бы имитировать кликанье...

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
3 часа назад, alkayde123 сказал:

PostMessage пробовал, и PostMessageA и SendMessageA

Пробовал именно с указанными сообщениями? с NC которые? Которые не WM_MOUSEMOVE, а WM_NCMOUSEMOVE например?

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

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