I have the following code to obtain user details:
HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;
string UserAgent = HttpContext.Current.Re
The VB.NET answer: I include it only because it might be easier to read and understand.
Public Function GetOS() As String
Dim MyAgent As String = Current.Request.UserAgent
If MyAgent.IndexOf("Windows NT 10.0") >= 0 Then
Return "Windows 10"
ElseIf MyAgent.IndexOf("Windows NT 6.3") >= 0 Then
Return "Windows 8.1"
ElseIf MyAgent.IndexOf("Windows NT 6.2") >= 0 Then
Return "Windows 8"
ElseIf MyAgent.IndexOf("Windows NT 6.1") >= 0 Then
Return "Windows 7"
ElseIf MyAgent.IndexOf("Windows NT 6.0") >= 0 Then
Return "Windows Vista"
ElseIf MyAgent.IndexOf("Windows NT 5.2") >= 0 Then
Return "Windows Server 2003"
ElseIf MyAgent.IndexOf("Windows NT 5.1") >= 0 Then
Return "Windows XP"
ElseIf MyAgent.IndexOf("Windows NT 5.01") >= 0 Then
Return "Windows 2000 (SP1)"
ElseIf MyAgent.IndexOf("Windows NT 5.0") >= 0 Then
Return "Windows 2000"
ElseIf MyAgent.IndexOf("Windows NT 4.5") >= 0 Then
Return "Windows NT 4.5"
ElseIf MyAgent.IndexOf("Windows NT 4.0") >= 0 Then
Return "Windows NT 4.0"
ElseIf MyAgent.IndexOf("Win 9x 4.90") >= 0 Then
Return "Windows ME"
ElseIf MyAgent.IndexOf("Windows 98") >= 0 Then
Return "Windows 98"
ElseIf MyAgent.IndexOf("Windows 95") >= 0 Then
Return "Windows 95"
ElseIf MyAgent.IndexOf("Windows CE") >= 0 Then
Return "Windows CE"
ElseIf (MyAgent.Contains("iPad")) Then
Return String.Format("iPad OS {0}", GetMobileVersion(MyAgent, "OS"))
ElseIf (MyAgent.Contains("iPhone")) Then
Return String.Format("iPhone OS {0}", GetMobileVersion(MyAgent, "OS"))
ElseIf (MyAgent.Contains("Linux") AndAlso MyAgent.Contains("KFAPWI")) Then
Return "Kindle Fire"
ElseIf (MyAgent.Contains("RIM Tablet") OrElse (MyAgent.Contains("BB") AndAlso MyAgent.Contains("Mobile"))) Then
Return "Black Berry"
ElseIf (MyAgent.Contains("Windows Phone")) Then
Return String.Format("Windows Phone {0}", GetMobileVersion(MyAgent, "Windows Phone"))
ElseIf (MyAgent.Contains("Mac OS")) Then
Return "Mac OS"
ElseIf MyAgent.IndexOf("ANDROID") >= 0 Then
Return String.Format("Android {0}", GetMobileVersion(MyAgent, "ANDROID"))
Else
Return "OS is unknown."
End If
End Function
Private Function GetMobileVersion(userAgent As String, device As String) As String
Dim ReturnValue As String = String.Empty
Dim RawVersion As String = userAgent.Substring(userAgent.IndexOf(device) + device.Length).TrimStart()
For Each character As Char In RawVersion
If IsNumeric(character) Then
ReturnValue &= character
ElseIf (character = "." OrElse character = "_") Then
ReturnValue &= "."
Else
Exit For
End If
Next
Return ReturnValue
End Function