Из инструментов для анализа (какие HTTP-запросы имитировать) - сниффер Fiddler.
Из инструментов для собственно имитации - либо стандартный System.Net для отправки этих самых запросов, на его базе желательно написать удобную обертку-враппер (или можно сразу взять какой-нибудь RestSharp), главное точная имитация, проверяется сниффером.
Либо можно попробовать phantomjs, это браузерный движок, но не простой, а специальный, в нем есть то, чего нет в WebBrowser или Awesomium. В некоторых случаях это лучше, т.к. если много запросов и они сложные, то устанете их все формировать вручную да с точным соответствием и правильной обработкой ответов. А Google как раз имеет манию на количество.
Разумеется, можно комбинировать взаимодействие через движок и напрямую запросами.
Насчет языков, у C# в этом плане всё обстоит не худшим образом, еще можно глянуть Delphi и Python, где вроде бы с этим еще лучше, или же NodeJS (поскольку там работают с PhantomJS напрямую - собственно, он под него и написан), но там зато другое хуже, чем в C#.
Так что под винуду уж лучше C# + нужные врапперы раздобыть/написать.