Да, это возможно с Windows API. Вам нужно отправить сообщение в это окно. Сначала используйте Spy ++, чтобы получить идентификаторы всех кнопок, которые вы хотите нажать. Spy ++ - это инструмент Visual Studio, который показывает, какие сообщения отправляются приложению при нажатии этих кнопок. Затем используйте функцию PostMessage () (Windows API) для программной отправки того же сообщения.
Вы также можете, например, взглянуть на Winamp (музыкальный плеер для Windows), там есть документация о том, как нажимать его кнопки из внешнего приложения. Вы можете сделать то же самое для других приложений, вам просто нужно знать идентификаторы всех элементов управления и имена окон или их классов.
вот код для нажатия кнопки паузы в Winamp:
#define AMP_PAUSE 40046
HWND hwnd = FindWindow("Winamp v1.x", 0);
if(hwnd) SendMessage(hwnd, WM_COMMAND, AMP_PAUSE, 0);
Это написано на C ++. Если вы делаете это в C #, используйте PInvoke, чтобы получить доступ к Windows API. Я полагаю, вы знаете, как это сделать. На первом этапе FindWindow получает дескриптор окна, идентифицирует его по имени своего класса. Затем мы используем SendMessage или PostMessage для отправки сообщения. Существует четыре параметра: окно для отправки сообщения, идентификатор сообщения и два параметра.
В Spy ++ вы можете найти те параметры, которые вам нужны для FindWindow и SendMessage. Пожалуйста, запустите его и поиграйте с ним немного, чтобы увидеть, что он может сделать.