반응형
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