--- 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:51:07 1.18
@@ -1,22 +1,39 @@
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
+ BorderStyle = 3 'Fixed Dialog
Caption = "i-scream Winhost"
ClientHeight = 5655
ClientLeft = 45
- ClientTop = 285
- ClientWidth = 5670
+ ClientTop = 330
+ 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,36 +43,53 @@ 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
Protocol = 1
End
+ Begin VB.Label Label5
+ Caption = "b e t a"
+ BeginProperty Font
+ Name = "MS Sans Serif"
+ Size = 24
+ Charset = 0
+ Weight = 700
+ Underline = 0 'False
+ Italic = 0 'False
+ Strikethrough = 0 'False
+ EndProperty
+ Height = 615
+ Left = 240
+ TabIndex = 8
+ Top = 120
+ Width = 1815
+ End
Begin VB.Label Label2
Alignment = 1 'Right Justify
Caption = "Next heartbeat:"
Height = 255
- Left = 3360
+ Left = 2400
TabIndex = 6
Top = 480
Width = 1455
@@ -64,7 +98,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 +107,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 +116,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
+ Left = 0
TabIndex = 2
- Top = 840
- Width = 5415
+ Top = 1320
+ Width = 4695
End
End
Attribute VB_Name = "Form1"
@@ -101,12 +136,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 filterManagerTCPPort As Long
+Dim seqNo As Long
+Dim machineName As String
+
Dim filterHostname As String
Dim filterTCPPort As Integer
Dim filterUDPPort As Integer
@@ -118,68 +157,63 @@ Dim TCPUpdateTime As Integer
Dim protocolVersion As String
Dim connected As Boolean
-Dim responseNumber As Integer
+'Dim CUpTime As New CUpTime
-Private Sub Command1_Click()
+Dim responseNumber As Integer
- ' 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
+ 'filterManagerHostname = "killigrew.ukc.ac.uk"
+ 'filterManagerTCPPort = 4567
+ ''''' END TEMP
+ 'GoTo skip
On Error GoTo iniError
Dim buf As String * 256
Dim length As Long
- length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "", buf, Len(buf), App.Path & "winhost.ini")
+ length = GetPrivateProfileString("i-scream Winhost", "FilterManager", "", buf, Len(buf), App.Path & "/winhost.ini")
filterManagerHostname = Left$(buf, length)
- length = GetPrivateProfileString("i-scream Winhost", "FilterManagerPort", "", buf, Len(buf), App.Path & "winhost.ini")
- filterManagerTCPPort = Left$(buf, length)
+ length = GetPrivateProfileInt("i-scream Winhost", "FilterManagerPort", 0, App.Path & "/winhost.ini")
+ filterManagerTCPPort = length
+skip:
+
+ Status.Caption = "Connecting to Filter Manager " & filterManagerHostname & ":" & filterManagerTCPPort
+ Reconfigure_Click
- Status.Caption = "Connecting to Filter Manager"
+ Form1.Show
+ SystemTray.Action = 0
+
Exit Sub
iniError:
- x = MsgBox("The i-scream Winhost could not read the correct settings from the winhost.ini file. Please correct these and try again.", 48, "Configuration not found")
+ x = MsgBox("The i-scream Winhost could not read the correct settings from the winhost.ini file. Please correct these and try again. " & Err.Description, 48, "Configuration not found")
End
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 +221,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 +352,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 +433,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