2012-05-07 5 views
4

WebBrowser 요소가 포함 된 응용 프로그램을 만들고 있는데 해당 응용 프로그램에 해당 사용자의 기본 브라우저에 대한 사용자 에이전트가 표시되도록하고 싶습니다.사용자의 기본 브라우저에 대한 UserAgent 가져 오기

레지스트리 키를 통해 기본 브라우저를 얻는 방법과 브라우저에서 사용자 에이전트를 얻는 방법을 알고 있지만 둘을 결합하는 방법을 알 수는 없습니다. 이것이 가능한가?

+1

웹 브라우저가 UserAgent에 무엇이든 넣을 수 있다고 생각하면 (예 : 현재 시간), 그렇다면 브라우저를 안정적으로 시작해야 할 필요가 있다고 생각합니다. 문제는 왜 이것을 알고 싶습니까? – svick

+0

응용 프로그램이 사용자의 기본 브라우저를 모방하도록 만들려고합니다. –

+2

왜 그렇게하고 싶습니까? 보통 그렇게하는 것은 좋은 생각이 아닙니다. – svick

답변

0

내가 할 것이 무엇
string strUserAgent = Request.UserAgent.ToString().ToLower(); 
bool status = false; 
if (strUserAgent != null) 
{ 
    if (Request.Browser.IsMobileDevice == true || 
     strUserAgent.Contains("iphone") || 
     strUserAgent.Contains("blackberry") || 
     strUserAgent.Contains("mobile") || 
     strUserAgent.Contains("windows ce") || 
     strUserAgent.Contains("opera mini") || 
     strUserAgent.Contains("palm")) 
    { 
     status = true; 
    } 
} 
+2

그것은 전혀 묻히지 않습니다. – svick

1

가 (물론,이 여기에 과잉의 비트입니다) (이 브라우저는 핸드 헬드 장치의 경우 확인하는 간단한 함수이다)를 포함하는 것입니다 시도 웹 서버와이 웹 서버에서 URL을 요청하여 사용자 에이전트를 얻습니다.

e.e. 대략 다음과 같습니다.

  1. 응용 프로그램 내부에 웹 서버를 구현하십시오. this one
  2. WebBrowser 제어, 웹 서버의 로컬 URL 웹 서버의 요청 처리기에서 (예를 들어 http://127.0.0.1:48384/test)
  3. 을 부르는에서 예 (최종 사용자에 변수
  4. 보기에이 변수를 사용자 에이전트를 저장할 수 당신의 WinForm 응용 프로그램 또는 단순히 웹 서버에서 다시 응답을 전송하여 Label 컨트롤.

나는 성공적으로 내 응용 프로그램 내에서 여러 번 웹 서버를 사용했습니다. 한 예로 것입니다 코드 프로젝트에서 이상 내 HTML edit control에 의해.

+1

죄송합니다. 기본 브라우저에서 어떻게 사용자 에이전트가 표시되는지 잘 모르겠습니다. 이것은 웹 브라우저 사용자 에이전트를 반환하지 않을 것입니다. –

+0

예, 이것은 'WebBrowser' 컨트롤을 반환합니다. 결국, 당신이'WebBrowser' 컨트롤을 언급 한이 유저 에이전트를 얻고 싶다고 읽었습니다. –

+0

그렇다면'WebBrowser'에 대한 언급은 "기본 브라우저"와 관련이 있습니까? –

관련 문제