How can I simulate a button click given the handle to the button's window?

button, c++, winapi

Solution

Find the handle to the button that you want to click (by using `FindWindowEx`), and just send click message:

SendMessage(hButton, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0, 0));
SendMessage(hButton, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(0, 0));

Problem

I want to simulate a click on a button located in a dialog box. I have the handle to that window. This is an Abort/Retry/Ignore kind of window. I don't want to go with simulating a click having X and Y coordinates as it doesn't suit my needs.

Original source