• Как имитировать нажатие мыши в неактивном приложении?

    @Laborant666 Автор вопроса
    Приложения в Windows состоят не из одного окна, а из нескольких. И сообщения надо отправлять не в любое окно приложения, а в конкретное

    HWND hPaint = ::FindWindow(nullptr, L"Безымянный - Paint");
    HWND hWnd1 = ::FindWindowEx(hPaint, NULL, L"MSPaintView", nullptr);
    HWND hWnd2 = ::FindWindowEx(hWnd1, NULL, L"Afx:00007FF72D900000:8", nullptr);


    SendMessage(hWnd2, WM_LBUTTONDOWN, 0, MAKELPARAM(500, 500));

    То есть нужно спуститься в самый низ по цепочке дочерних окон. Что б понять какое окно для чего используется берем Spy++ и у него смотрим сообщения всех окон и находим самое глубокое в матрешке, которое получает сообщения. В моем случае сообщения о кликах мышкой принимает окно Afx и это именно та часть, где рисуешь, в Spy легко определить что за окно опцией выделения, если б понадобилось кликнуть по элементу кисти или карандаша - то это уже другое окно, которое также отслеживаем по сообщениям. Сначала самое главное окно - кликнули по кнопке - сообщения выскочили. Лезем в окна внутри первого главного окна, берем самое первое, открываем сообщения - кликаем - сообщений нет - ищем другое окно - если есть - лезем внутрь этого окна и так до самого последнего
    Ответ написан