I've found the handle of a Windows Forms ToolStrip in another application. (Window name is toolStrip1, class name is WindowsForms10.Window.8.app.0.378734a.)
Is there any way to enumerate the child buttons, find a button by caption and simulate a button click? The buttons are not child windows, so EnumChildWindows doesn't work.
Simulating a mouse click with constant coordinates on the ToolStrip itself is not a very good option as the available buttons and button captions may change.
As @Jimi suggested, the solution is to use the UI Automation Windows API. I've managed to find the button by going down in the UI automation tree of UI elements from the desktop window to the given element, matching the names of elements. Then I called Invoke on it to simulate a click. Here my a highly unstructured "C-style" C++11 test code for demonstration purposes, in case anyone else finds it useful. You will need to link to ole32.lib and oleaut32.lib.