Как определить, открывает ли браузер по умолчанию нужную страницу?

У меня есть программа, написанная на С#. У него есть ссылка на ярлык. Мне нужно определить программно, когда я нажимаю эту ссылку (программно тоже), открывает ли браузер по умолчанию нужную страницу. С#


person mimic    schedule 02.02.2009    source источник
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
comment
Хммм, мне кажется, вы пытаетесь открыть браузер. Мне нужно что-то другое. Я могу открыть браузер, но мне нужно программно определить, была ли открыта нужная страница или нет. - person mimic; 03.02.2009
comment
Затем просто верните true: если вы передали действительный URL-адрес и Интернет доступен, вы можете считать, что вызов выполнен успешно. - person Joel Coehoorn; 03.02.2009
comment
Но если вы хотите действительно быть уверенным, Process.Start() возвращает экземпляр процесса, который вы можете затем использовать, чтобы попытаться определить, какая страница была загружена, если таковая имеется. - person Joel Coehoorn; 03.02.2009
comment
И, само собой разумеется, вы должны сделать что-то в этом пустом блоке catch, чтобы не прятать вслепую все исключения. ;) Спрашивающему: Похоже, вы обеспокоены тем, что ваша страница не будет загружена, когда вы начнете процесс, верно? Почему бы и нет? - person JMD; 03.02.2009
comment
Нет, вы бы просто вслепую ловили здесь. Прочтите ссылку - ошибочно выбрасывается исключение. - person Joel Coehoorn; 03.02.2009
comment
НЕТ, я просто хочу проверить свою программу - открывает ли она браузер и открывает ли браузер нужную страницу - person mimic; 03.02.2009