Я пытаюсь изменить UserAgent элемента управления WebBrowser в приложении Winforms.
Я успешно добился этого, используя следующий код:
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(
int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;
public void ChangeUserAgent()
{
List<string> userAgent = new List<string>();
string ua = "Googlebot/2.1 (+http://www.google.com/bot.html)";
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, ua, ua.Length, 0);
}
Единственная проблема в том, что это работает только один раз. Когда я пытаюсь запустить метод ChangeUserAgent () во второй раз, он не работает. Он остается установленным на первое измененное значение. Это очень раздражает, я все перепробовал, но больше одного раза это не изменится.
Кто-нибудь знает другой, более гибкий подход?
Спасибо