У меня есть программа, написанная на С#. У него есть ссылка на ярлык. Мне нужно определить программно, когда я нажимаю эту ссылку (программно тоже), открывает ли браузер по умолчанию нужную страницу. С#
Как определить, открывает ли браузер по умолчанию нужную страницу?
comment
stackoverflow.com/ вопросы/6613239/
- person STiTCHiCKED   schedule 04.03.2013
Ответы (1)
Process.Start("http://example.com"); // <-- put your url there.
Также см. эту короткую статью о том, как использовать это с максимальной эффективностью:
http://code.logos.com/blog/2008/01/using_processstart_to_link_to.html
В итоге:
void OpenBrowser(string url)
{
try
{
Mouse.OverrideCursor = Cursors.AppStarting;
Process.Start(url);
}
catch (Exception)
{ //swallow: exception is sometimes thrown even though
} // the call completed without error
finally
{
Mouse.OverrideCursor = null;
}
}
person
Joel Coehoorn
schedule
02.02.2009
Хммм, мне кажется, вы пытаетесь открыть браузер. Мне нужно что-то другое. Я могу открыть браузер, но мне нужно программно определить, была ли открыта нужная страница или нет.
- person mimic; 03.02.2009
Затем просто верните true: если вы передали действительный URL-адрес и Интернет доступен, вы можете считать, что вызов выполнен успешно.
- person Joel Coehoorn; 03.02.2009
Но если вы хотите действительно быть уверенным, Process.Start() возвращает экземпляр процесса, который вы можете затем использовать, чтобы попытаться определить, какая страница была загружена, если таковая имеется.
- person Joel Coehoorn; 03.02.2009
И, само собой разумеется, вы должны сделать что-то в этом пустом блоке catch, чтобы не прятать вслепую все исключения. ;) Спрашивающему: Похоже, вы обеспокоены тем, что ваша страница не будет загружена, когда вы начнете процесс, верно? Почему бы и нет?
- person JMD; 03.02.2009
Нет, вы бы просто вслепую ловили здесь. Прочтите ссылку - ошибочно выбрасывается исключение.
- person Joel Coehoorn; 03.02.2009
НЕТ, я просто хочу проверить свою программу - открывает ли она браузер и открывает ли браузер нужную страницу
- person mimic; 03.02.2009