--- experimental/host/vb_net_test/nettest.frm 2001/02/23 11:42:06 1.10 +++ experimental/host/vb_net_test/nettest.frm 2001/02/23 17:08:37 1.15 @@ -1,22 +1,38 @@ VERSION 5.00 Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX" +Object = "{33155A3D-0CE0-11D1-A6B4-444553540000}#1.0#0"; "SysTray.ocx" Begin VB.Form Form1 BorderStyle = 4 'Fixed ToolWindow Caption = "i-scream Winhost" ClientHeight = 5655 ClientLeft = 45 ClientTop = 285 - ClientWidth = 5670 + ClientWidth = 4710 LinkTopic = "Form1" MaxButton = 0 'False - MinButton = 0 'False ScaleHeight = 5655 - ScaleWidth = 5670 + ScaleWidth = 4710 ShowInTaskbar = 0 'False StartUpPosition = 3 'Windows Default + Begin VB.CommandButton Hide + Caption = "Hide Window" + Height = 375 + Left = 3120 + TabIndex = 7 + Top = 840 + Width = 1455 + End + Begin SysTray.SystemTray SystemTray + Left = 2160 + Top = 1800 + _ExtentX = 847 + _ExtentY = 847 + SysTrayText = "i-scream Winhost" + IconFile = 0 + End Begin VB.Timer Timer1 - Left = 4200 - Top = 1200 + Left = 2760 + Top = 1800 End Begin VB.TextBox Text4 Height = 1575 @@ -26,26 +42,26 @@ Begin VB.Form Form1 TabIndex = 1 Text = "nettest.frx":0000 Top = 3000 - Width = 5055 + Width = 3975 End Begin VB.CommandButton Reconfigure Caption = "Reconfigure with FilterManager" - Height = 495 + Height = 375 Left = 120 TabIndex = 0 - Top = 120 + Top = 840 Width = 2895 End Begin MSWinsockLib.Winsock TCPSock - Left = 5160 - Top = 1200 + Left = 3720 + Top = 1800 _ExtentX = 741 _ExtentY = 741 _Version = 393216 End Begin MSWinsockLib.Winsock UDPSock - Left = 4680 - Top = 1200 + Left = 3240 + Top = 1800 _ExtentX = 741 _ExtentY = 741 _Version = 393216 @@ -55,7 +71,7 @@ Begin VB.Form Form1 Alignment = 1 'Right Justify Caption = "Next heartbeat:" Height = 255 - Left = 3360 + Left = 2400 TabIndex = 6 Top = 480 Width = 1455 @@ -64,7 +80,7 @@ Begin VB.Form Form1 Alignment = 1 'Right Justify Caption = "Next UDP packet:" Height = 255 - Left = 3360 + Left = 2400 TabIndex = 5 Top = 120 Width = 1455 @@ -73,7 +89,7 @@ Begin VB.Form Form1 BorderStyle = 1 'Fixed Single Caption = "0" Height = 255 - Left = 4920 + Left = 3960 TabIndex = 4 Top = 480 Width = 615 @@ -82,18 +98,19 @@ Begin VB.Form Form1 BorderStyle = 1 'Fixed Single Caption = "0" Height = 255 - Left = 4920 + Left = 3960 TabIndex = 3 Top = 120 Width = 615 End Begin VB.Label Status + Alignment = 2 'Center Caption = "Status:" Height = 255 Left = 120 TabIndex = 2 - Top = 840 - Width = 5415 + Top = 1320 + Width = 4455 End End Attribute VB_Name = "Form1" @@ -101,12 +118,16 @@ Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False +' For the system tray bits Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long Dim filterManagerHostname As String Dim filterManagerTCPPort As Integer +Dim seqNo As Long +Dim machineName As String + Dim filterHostname As String Dim filterTCPPort As Integer Dim filterUDPPort As Integer @@ -120,40 +141,19 @@ Dim protocolVersion As String Dim connected As Boolean Dim responseNumber As Integer - -Private Sub Command1_Click() - - ' build the contents of the XML packet. - xml = "" - - ' Use the first winsock control to send a UDP packet. - UDPSock.RemoteHost = filterHostname - UDPSock.RemotePort = filterUDPPort - UDPSock.SendData xml - Status.Caption = "i-scream Winhost " & protocolVersion & " - UDP packet sent." - -End Sub - - -Private Sub Command3_Click() - ' establish a TCP connection to a filter - TCPSock.Close - TCPSock.Connect filterHostname, filterTCPPort -End Sub - Private Sub Form_Load() + protocolVersion = "1.1" - + Status.Caption = "Loading" - Form1.Caption = "i-scream Winhost " & protocolVersion + 'Form1.Caption = "i-scream Winhost " & protocolVersion & " for " & GetVersion() ''''TEMP filterManagerHostname = "killigrew.ukc.ac.uk" filterManagerTCPPort = 4567 - Reconfigure_Click - Exit Sub - ''' ENDTEMP + ''''' END TEMP + GoTo skip On Error GoTo iniError Dim buf As String * 256 Dim length As Long @@ -161,9 +161,15 @@ Private Sub Form_Load() filterManagerHostname = Left$(buf, length) length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "", buf, Len(buf), App.Path & "winhost.ini") filterManagerTCPPort = Left$(buf, length) - +skip: + Status.Caption = "Connecting to Filter Manager" + Reconfigure_Click + Form1.Show + SystemTray.Action = 0 + + Exit Sub iniError: @@ -173,13 +179,20 @@ iniError: End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) - x = MsgBox("Are you sure you want to shut down the Winhost?", vbYesNo, "i-scream Winhost") + x = MsgBox("Are you sure you want to shut down the Winhost? This will stop your computer sending information to the i-scream Central Monitoring System.", vbYesNo, "i-scream Winhost") If x = 7 Then Cancel = True + Else + SystemTray.Action = 2 End If End Sub +Private Sub Hide_Click() + Form1.Visible = False + SystemTray.Icon = Val(Form1.Icon) +End Sub + Private Sub Reconfigure_Click() ' establish a TCP connection to a filtermanager connected = False @@ -187,6 +200,16 @@ Private Sub Reconfigure_Click() TCPSock.Connect filterManagerHostname, filterManagerTCPPort End Sub + + +Private Sub SystemTray_MouseDblClk(ByVal Button As Integer) + + Form1.Visible = True + Form1.SetFocus + + +End Sub + Private Sub TCPSock_Connect() responseNumber = 0 @@ -308,8 +331,70 @@ Private Sub Timer1_Timer() Status.Caption = "" If Label3.Caption < 1 Then - ' build the contents of the XML packet. - xml = "" + + ' prepare the contents of the XML packet. + seqNo = seqNo + 1 + machineName = TCPSock.LocalHostName + localIP = TCPSock.localIP + packetDate = Date2Num() + + + Dim verinfo As OSVERSIONINFO + verinfo.dwOSVersionInfoSize = Len(verinfo) + ret% = GetVersionEx(verinfo) + If ret% = 0 Then + MsgBox "Error getting Windows version Information" + End + End If + + osName = getVersion() + osVersionMajor = verinfo.dwMajorVersion + osVersionMinor = verinfo.dwMinorVersion + osBuild = verinfo.dwBuildNumber + + Dim sysinfo As SYSTEM_INFO + GetSystemInfo sysinfo + Select Case sysinfo.dwProcessorType + Case PROCESSOR_INTEL_386 + processorType = "Intel 386" + Case PROCESSOR_INTEL_486 + processorType = "Intel 486" + Case PROCESSOR_INTEL_PENTIUM + processorType = "Intel Pentium variant" + Case PROCESSOR_MIPS_R4000 + processorType = "MIPS R4000" + Case PROCESSOR_ALPHA_21064 + processorType = "DEC Alpha 21064" + Case Else + processorType = "(unknown)" + End Select + + Dim memsts As MEMORYSTATUS + Dim memory& + GlobalMemoryStatus memsts + memory& = memsts.dwTotalPhys + memTotal = memory& \ 1024 + memory& = memsts.dwAvailPhys + memFree = memory& \ 1024 + memory& = memsts.dwTotalVirtual + swapTotal = memory& \ 1024 + memory& = memsts.dwAvailVirtual + swapFree = memory& \ 1024 + + ' build the contents of the XML packet + xml = "" & _ + "" & _ + "" & osName & "" & _ + "" & osVersionMajor & "" & _ + "" & osBuild & "" & _ + "" & osName & "" & _ + "" & osVersionMinor & "" & _ + "" & processorType & "" & _ + "" & _ + "" & memTotal & "" & memFree & "" & _ + "" & swapTotal & "" & swapFree & "" & _ + "" + Text4.Text = Text4.Text + xml ' Use the first winsock control to send a UDP packet. UDPSock.RemoteHost = filterHostname @@ -327,3 +412,9 @@ Private Sub Timer1_Timer() End If End Sub + +Function Date2Num() As Long + Dim x As Long + x = DateDiff("s", "1-1-1970", Now) + Date2Num = x +End Function