下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。

ClientPeek.aspx


<%@ Page language="vb" EnableViewState="false" Codebehind="ClientPeek.aspx.vb" AutoEventWireup="false" Inherits="aspxWeb.ClientPeek"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>  

<HEAD>    

<title>检测客户端显示器分辨率、浏览器类型和客户端IP</title>    

<META http-equiv="Content-Type" content="text/html; charset=gb2312">    

<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">    

<meta content="C#" name="CODE_LANGUAGE">    

<meta content="【孟子E章】:http://xml.sz.luohuedu.net/" name="CopyRight">    

<meta content="JavaScript" name="vs_defaultClientScript">    

<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">  

</HEAD>  

<body id="MyBody" MS_POSITIONING="GridLayout" runat="server">    

<form id="browserpeek" runat="server">      

<asp:label id="Label1" runat="server">

</asp:label></form>  

</body>

</HTML>



ClientPeek.aspx.vb

Imports SystemPublic Class ClientPeek  

Inherits System.Web.UI.Page  

Protected WithEvents Label1 As System.Web.UI.WebControls.Label  

Protected WithEvents MyBody As System.Web.UI.HtmlControls.HtmlGenericControl


#Region " Web 窗体设计器生成的代码 "  '该调用是 Web 窗体设计器所必需的。  

<System.Diagnostics.DebuggerStepThrough()> 

Private Sub InitializeComponent()  

End Sub  

'注意: 以下占位符声明是 Web 窗体设计器所必需的。  

'不要删除或移动它。  

Private designerPlaceholderDeclaration As System.Object  

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles MyBase.Init    

'CODEGEN: 此方法调用是 Web 窗体设计器所必需的    

'不要使用代码编辑器修改它。    

InitializeComponent()  

End Sub

#End Region  

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _    Handles MyBase.Load    

Dim Button1 As New System.Web.UI.WebControls.Button    

If Not Me.IsPostBack 

Then      

Dim btnW As New System.Web.UI.HtmlControls.HtmlInputHidden      

Dim btnH As New System.Web.UI.HtmlControls.HtmlInputHidden      

Button1.ID = "Button1"      

btnW.Name = "WidthPixel"      

btnW.ID = "WidthPixel"      

btnH.Name = "HeightPixel"      

btnH.ID = "HeightPixel"      

Me.FindControl("browserpeek").Controls.Add(btnW)      

Me.FindControl("browserpeek").Controls.Add(btnH)      

Me.FindControl("browserpeek").Controls.Add(Button1)      

Dim scriptString As String = ""      

scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;"      

scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;"      

Me.RegisterOnSubmitStatement("Meng", scriptString)      

Me.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();")    

Else      

Me.MyBody.Attributes.Remove("onload")      

If Me.FindControl("browserpeek").Controls.Contains(Button1) 

Then        

Me.FindControl("browserpeek").Controls.Remove(Button1)        

Button1.Dispose()      

End If      

Dim strLabel As New System.Text.StringBuilder      

Dim bc As HttpBrowserCapabilities = Request.Browser      

strLabel.Append("您的浏览器的分辨率为:")      

strLabel.Append(Request.Form("WidthPixel"))      

strLabel.Append("×")      

strLabel.Append(Request.Form("HeightPixel"))      

strLabel.Append("<hr color='#000099'>")      

strLabel.Append("浏览器基本信息:<br>")      

strLabel.Append("Type = " & bc.Type & "<br>")      

strLabel.Append("Name = " & bc.Browser & "<br>")      

strLabel.Append("Version = " & bc.Version & "<br>")      

strLabel.Append("Major Version = " & bc.MajorVersion & "<br>")      

strLabel.Append("Minor Version = " & bc.MinorVersion & "<br>")      

strLabel.Append("Platform = " & bc.Platform & "<br>")      

strLabel.Append("Is Beta = " & bc.Beta & "<br>")      

strLabel.Append("Is Crawler = " & bc.Crawler & "<br>")      

strLabel.Append("Is AOL = " & bc.AOL & "<br>")      

strLabel.Append("Is Win16 = " & bc.Win16 & "<br>")      

strLabel.Append("Is Win32 = " & bc.Win32 & "<br>")      

strLabel.Append("支持 Frames = " & bc.Frames & "<br>")      

strLabel.Append("支持 Tables = " & bc.Tables & "<br>")      

strLabel.Append("支持 Cookies = " & bc.Cookies & "<br>")      

strLabel.Append("支持 VB Script = " & bc.VBScript & "<br>")      

strLabel.Append("支持 JavaScript = " & bc.JavaScript & "<br>")      

strLabel.Append("支持 Java Applets = " & bc.JavaApplets & "<br>")      

strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & "<br>")      

strLabel.Append("CDF = " & bc.CDF & "<br>")      

strLabel.Append("W3CDomVersion  = " + bc.W3CDomVersion.ToString + "<br>")      

strLabel.Append("UserAgent  = " + Request.UserAgent + "<br>")      

strLabel.Append("UserLanguages  = " + Request.UserLanguages(0).ToString + "<br>")      

strLabel.Append("<hr color='#000099'>")      

strLabel.Append("客户端计算机基本配置:<br>")      

strLabel.Append("UserHostName  = " + Request.UserHostName + "<br>")      

strLabel.Append("UserHostAddress  = " + Request.UserHostAddress + "<br>")      

Label1.Text = strLabel.ToString()    

End If 

End Sub  

End Class