вот мой код который работает (п.с. ВК ругается на низкие IE версии, и в своё время моё приложение работало на моём компе, но когда поставил на комп сестры (у нас ВИН7, но у меня ИЕ обновлённый (11), у неё нет (8), у неё ВК отказывался запускать - мол старый бразуер... по-этому я использую
awesomium вместо стандартного браузера):
public Form1()
{
InitializeComponent();
webbrowser.BringToFront();
webbrowser.Visible = true;
string url = "https://oauth.vk.com/authorize?client_id=" + VK_main.ID_APP + "&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=" + VK_main.SCOPE + "&response_type=token&v=" + VK_main.VERSION;
webbrowser.LoadingFrameComplete += Webbrowser_LoadingFrameComplete; //жду окончания загрузки
webbrowser.Source = new Uri(url);
}
private void Webbrowser_LoadingFrameComplete(object sender, FrameEventArgs e)
{
if (!e.IsMainFrame) return;
if(e.Url.ToString().Contains("https://oauth.vk.com/blank.html#access_token="))
{
int start = e.Url.Fragment.IndexOf("=");
int end = e.Url.Fragment.IndexOf("&");
VK_main.TOKEN = e.Url.Fragment.Substring(start+1, end-start-1); // записываю в "глобальную переменную токен
webbrowser.LoadingFrameComplete -= Webbrowser_LoadingFrameComplete;
webbrowser.Visible = false;
}
}
п.с. проблема может быть в версии IE (по умолчанию webbrowser - использует ядро IE)