본문 바로가기
개발언어/C#.NET

C# 기본 웹 브라우져 알아내기

by 엔돌슨 2011. 4. 8.
반응형

C# 기본 웹 브라우져 알아내기


C# 에서 기본 웹브라우져를 알아내는 방법은 레지스터(regedit)에 있는 HKEY_CLASSES_ROOT\http\shell\open\command\default 경로의 브라우져가 무엇으로 세팅되어 있는지 보면 알 수 있습니다.  프로그램적으로 레지스터에 접근해서 문자열을 가져와서 무슨 브라우져를 쓰는지 확인하면 됩니다. \ 문자열로 나누고 마지막 문자열만 가져오면 될거 같습니다.






기본브라우져 알아내는 방법


HKEY_CLASSES_ROOT\http\shell\open\command\default

Searched:
default browser win32

Got the following link:
http://www.jniwrapper.com/docs/javad...wserPaths.html

java
http://maluchi.cafe24.com/xe/?mid=MyProgrammingTips&sort_index=readed_count&order_type=desc&page=7&document_srl=15840


기본브라우져 알아내는 코드소스


참고사이트
http://www.dreamincode.net/code/snippet5005.htm

/// <summary>
/// method for retrieving the users default web browser
/// </summary>
/// <returns></returns>
internal string GetSystemDefaultBrowser()
{
    string name = string.Empty;
    RegistryKey regKey = null;

    try
    {
        //set the registry key we want to open
        regKey = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command", false);

        //get rid of the enclosing quotes
        name = regKey.GetValue(null).ToString().ToLower().Replace("" + (char)34, "");

        //check to see if the value ends with .exe (this way we can remove any command line arguments)
        if (!name.EndsWith("exe"))
            //get rid of all command line arguments (anything after the .exe must go)
            name = name.Substring(0, name.LastIndexOf(".exe") + 4);

    }
    catch (Exception ex)
    {
        name = string.Format("ERROR: An exception of type: {0} occurred in method: {1} in the following module: {2}", ex.GetType(), ex.TargetSite, this.GetType());
    }
    finally
    {
        //check and see if the key is still open, if so
        //then close it
        if (regKey != null)
            regKey.Close();
    }
    //return the value
    return name;

}

참고사이트
http://stackoverflow.com/questions/2747085/how-to-get-the-default-homepage-from-the-default-browser