Это для веб-приложения или настольного приложения? Ответ будет сильно различаться в зависимости от того, какой это.
С веб-сайтами намного проще IMO - быстрый сценарий на Perl, использующий curl, вероятно, самый простой способ, а также отличный опыт обучения. Вы также можете использовать C # и API curl или просто вызывать C # Run () для выполнения вызовов командной строки для самого curl (консольного приложения). Суть: вам нужно сделать POST / GET HTTP-вызовы с заданной информацией. Fiddler - ваш друг здесь - используйте его, чтобы узнать, как веб-сайт ожидает звонки, а затем имитировать его, используя curl.
Приложение Windows потребует некоторых вызовов PInvoke для прокачки сообщений Windows в данном приложении; например C ++ здесь будет проще, в зависимости от вашего опыта / требований, или вы можете легко обернуть вызовы API C ++ в C # с помощью PInvoke. В любом случае, AFAIK, нет способа сделать это для приложения Windows в 100% -ом управляемом коде - я, конечно, могу ошибаться, но я никогда не видел этого и заинтересован в том, чтобы найти его возможным. Итог: вам нужно позвонить в win32 API, чтобы узнать, какое это окно, а затем отправить нажатия клавиш в это окно в соответствующих местах.