Это зависит от инструмента или программы. Некоторые из них построены на многоуровневой архитектуре, а внизу есть библиотека, которая предоставляет все необходимые функции. Я полагаю, некоторые из них нет.
Я не думаю о специфике здесь. Просто представьте себе, что не все приложения Windows хорошо спроектированы внутри для повторного использования функции. Чтобы ответить на ваш вопрос, Нет, я не думаю, что легко просто подключиться к событиям в общем случае. Чтобы проверить, сработает ли это, вам нужно провести хорошую проверку кода.
Я знаю, что вы сказали, что не рассматриваете автоматизацию, но вы можете переосмыслить. В .NET теперь есть библиотеки автоматизации - System.Windows.Automation - это пространство имен, и оно работает с любым приложением Windows GUI, а не только с приложениями, построенными на .NET. Это не очень сложно сделать вообще.