It depends on the tool or program. Some of them are built on a multi-level architecture, and there is a library that provides all the necessary functions. I suppose some are not.
I do not think about the specifics here. I just imagine that not every Windows application is beautifully designed inside to reuse the function. To answer your question, no, I donโt think itโs easy to just connect to events in the general case. You will need to do a good review of the code to make sure this works.
I know that you said that you are not considering automation, but you can change your mind. .NET now has automation libraries. System.Windows.Automation is a namespace and works with any Windows graphics application, not just applications on the network. This is not at all difficult.