Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848

Клик в неактивное окно

30.06.2020, 19:15. Показов 6152. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, являюсь новичком в это мире кодинга и тонны последующего мата.
Посему приходится накатать свою тему, в других темах ответы никак не помогли.

Итак, есть цель отправить клик в окно, которое не свернуто, но неактивно. Пример, смотришь фильм в полном экране в браузере, а на фоне в открытом окошке работает банальный автокликер. Пробовал по-разному и никак не могу заставить кликнуть в окне по координатам относительно окна.

Пробовал и SetCapture + SendMessage. Миксовал PostMessage. В общем толком ничего не вышло.

Вот моя мешанина, которой я пытался сымитировать клик в пейнте, точку банально нарисовать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
void main() {
 
    LPCWSTR window = L"Безымянный - Paint";
    HWND paint = FindWindow(NULL, window);
 
    POINT curPos, klick;
 
    klick.x = 485;
    klick.y = 428;
 
 
    GetCursorPos(&curPos); // Координаты относительно всего экрана
    ScreenToClient(paint, &curPos); // Координаты относительно окна
    
    cout << curPos.x << " " << curPos.y << endl;
    cout << paint << endl;
 
    LPARAM kor;
    kor = MAKELPARAM(klick.x, klick.y);
 
    SetCapture(paint);
    SetActiveWindow(paint);
    
    SendMessage(paint, WM_LBUTTONDOWN, 0, kor);
    Sleep(30);
    SendMessage(paint, WM_LBUTTONUP, 0, kor);
}
Я буду очень благодарен тому, кто толково разжует пошагово, что не так делаю. Через Spy++ дескриптор пейнта определялся правильно, но всё равно туда клик не отправлялся..
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2020, 19:15
Ответы с готовыми решениями:

Передать сообщение в неактивное (свёрнутое) окно
Ребят, дело такой не могу разобраться как работать с windows message, с его помощью хочу эмулировать нажатия клавиш. Рылся в нете узнал,...

Как программно нажать клавишу в неактивное окно?
как программно нажать клавишу в неактивное окно с помощью функции SendMessage? пробовал так: #include &lt;windows.h&gt; int main(){ ...

Неактивное окно
Подскажите, пожалуйста, ещё по одному вопросу. Как сделать не доступной форму(чтобы она была видна, но я не мог на нею нажать)...

23
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
03.07.2020, 20:29  [ТС]
Студворк — интернет-сервис помощи студентам
oleg-m1973, так не вызывается, мне даже код скомпилить на дает, уже прям скопировал из кучи справочников - ругается и всё
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
03.07.2020, 20:54
Цитата Сообщение от Laborant666 Посмотреть сообщение
oleg-m1973, так не вызывается, мне даже код скомпилить на дает, уже прям скопировал из кучи справочников - ругается и всё
Как именно не вызывается?
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
03.07.2020, 20:55  [ТС]
oleg-m1973, в 15:28 я писал об этом здесь
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
03.07.2020, 20:57
Цитата Сообщение от Laborant666 Посмотреть сообщение
oleg-m1973, в 15:28 я писал об этом здесь
А я тебе вроде давно сказал, что тот код неправильный. Ты читаешь, что я тебе пишу?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.07.2020, 20:57

Как программно в c++ builder сделать неактивное окно(форму) активным?
Как программно в c++ builder сделать неактивное окно(форму) активным? Ещё вопрос:Мне нужно изменять расположение 2-ой формы,но чтобы при...

Клик мышкой в неактивное окно
Доброго времени суток пытаюсь сделать клик мышкой в не активное окно procedure TForm1.Button2Click(Sender: TObject); var W : Hwnd; ...

Сделать неактивное окно активным
Возможно, я путаю понятия &quot;окно&quot; и &quot;программа&quot;, а также &quot;активное&quot; и... что-то еще. Но суть - в AIMP-плеере есть опция закрепить окно...

Передача символов в неактивное окно
Доброго времени суток дорогие форумчане, есть маленький вопросик по счет передачи символов в неактивное окно. Ну вот например, у меня...

Отправка цифр 1-9 в неактивное окно
procedure TForm1.Button1Click(Sender: TObject); var wnd: HWND; begin wnd := FindWindow(nil,'World of Warcraft'); if wnd &lt;&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru