A próbowałeś to debugować?
Ogólnie aplikacje GUI mają architekturę Event driven.
Pętla loop, która sobie odbiera zdarzenia.
SendMessage i PostMessage wstrzykują z zewnątrz zdarzenia.
Jak chcesz takie coś zdebugować to musisz podpiąć się pod strukturę przechowującą lub funkcję przetwarzającą te eventy.
Akurat tak się składa, że microsoft ma dedykowany software spy++, którym możesz podsłuchiwać event loop w gui programach.
Teraz tak klikasz coś myszką i patrzysz jakie eventy się tam generują, potem samemu wysyłasz event i patrzysz czy wygląda tak samo jak ten co wysłałeś.
Tak mniej więcej możesz to zdebugować i rozwiązać samodzielnie ten problem.
Jako ciekawostkę podam, że w przeglądarce jak klikniemy myszka też jest generowany event, mouse, key i jak spróbujemy go podrobić jakimś document.getElementId().click()
to event dostanie taki specjalną wartość o treści isTrusted = False
, a w przypadku kliknięcia normalnie myszką to otrzyma isTrusted = True
, mogą się zdarzyć zabezpiecznia w kodzie.
Można to obejść pachtując daną funkcję, po prostu ją kasując.
Może się też zdarzyć, że aplikacja twoja też cię jakoś wykryje.