diff --git a/webcrab/App.config b/webcrab/App.config
index 095562b..92a9536 100755
--- a/webcrab/App.config
+++ b/webcrab/App.config
@@ -1,6 +1,18 @@
+
+
+
+
+
+
+
+
+ 8080
+
+
+
diff --git a/webcrab/My Project/Settings.Designer.vb b/webcrab/My Project/Settings.Designer.vb
index 1a90047..01d42e4 100755
--- a/webcrab/My Project/Settings.Designer.vb
+++ b/webcrab/My Project/Settings.Designer.vb
@@ -53,6 +53,18 @@ Namespace My
Return defaultInstance
End Get
End Property
+
+ _
+ Public Property listenport() As UShort
+ Get
+ Return CType(Me("listenport"),UShort)
+ End Get
+ Set
+ Me("listenport") = value
+ End Set
+ End Property
End Class
End Namespace
diff --git a/webcrab/My Project/Settings.settings b/webcrab/My Project/Settings.settings
index 377f56d..ecf6e59 100755
--- a/webcrab/My Project/Settings.settings
+++ b/webcrab/My Project/Settings.settings
@@ -1,7 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+ 8080
+
+
+
\ No newline at end of file
diff --git a/webcrab/input.vb b/webcrab/input.vb
index 0157a8f..44449db 100755
--- a/webcrab/input.vb
+++ b/webcrab/input.vb
@@ -218,6 +218,11 @@ Module input
keybd_event(bVK, 0, KEYEVENTF_KEYUP, 0)
End Sub
+ Public Sub SendKeysEscaped(str As String)
+ str = System.Text.RegularExpressions.Regex.Replace(str, "[+^%~()\\{\\}]", "{$0}")
+ SendKeys.SendWait(str)
+ End Sub
+
#End Region
End Module
diff --git a/webcrab/main.Designer.vb b/webcrab/main.Designer.vb
index f0a23cf..6a446ba 100755
--- a/webcrab/main.Designer.vb
+++ b/webcrab/main.Designer.vb
@@ -26,10 +26,10 @@ Partial Class main
Me.LogText = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.TapInput = New System.Windows.Forms.NumericUpDown()
+ Me.PortInput = New System.Windows.Forms.NumericUpDown()
Me.Label2 = New System.Windows.Forms.Label()
- Me.DragInput = New System.Windows.Forms.NumericUpDown()
CType(Me.TapInput, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.DragInput, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.PortInput, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'StartButton
@@ -59,7 +59,7 @@ Partial Class main
'Label1
'
Me.Label1.AutoSize = True
- Me.Label1.Location = New System.Drawing.Point(93, 17)
+ Me.Label1.Location = New System.Drawing.Point(221, 17)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(96, 13)
Me.Label1.TabIndex = 2
@@ -67,47 +67,47 @@ Partial Class main
'
'TapInput
'
- Me.TapInput.Location = New System.Drawing.Point(195, 14)
+ Me.TapInput.Location = New System.Drawing.Point(323, 15)
+ Me.TapInput.Maximum = New Decimal(New Integer() {1000, 0, 0, 0})
Me.TapInput.Name = "TapInput"
Me.TapInput.Size = New System.Drawing.Size(57, 20)
Me.TapInput.TabIndex = 3
Me.TapInput.Value = New Decimal(New Integer() {5, 0, 0, 0})
'
+ 'PortInput
+ '
+ Me.PortInput.Location = New System.Drawing.Point(158, 15)
+ Me.PortInput.Maximum = New Decimal(New Integer() {65535, 0, 0, 0})
+ Me.PortInput.Minimum = New Decimal(New Integer() {1, 0, 0, 0})
+ Me.PortInput.Name = "PortInput"
+ Me.PortInput.Size = New System.Drawing.Size(57, 20)
+ Me.PortInput.TabIndex = 5
+ Me.PortInput.Value = New Decimal(New Integer() {8080, 0, 0, 0})
+ '
'Label2
'
Me.Label2.AutoSize = True
- Me.Label2.Location = New System.Drawing.Point(258, 17)
+ Me.Label2.Location = New System.Drawing.Point(93, 17)
Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(83, 13)
+ Me.Label2.Size = New System.Drawing.Size(59, 13)
Me.Label2.TabIndex = 4
- Me.Label2.Text = "Drag delay (ms):"
- '
- 'DragInput
- '
- Me.DragInput.Increment = New Decimal(New Integer() {100, 0, 0, 0})
- Me.DragInput.Location = New System.Drawing.Point(347, 14)
- Me.DragInput.Maximum = New Decimal(New Integer() {2000, 0, 0, 0})
- Me.DragInput.Minimum = New Decimal(New Integer() {100, 0, 0, 0})
- Me.DragInput.Name = "DragInput"
- Me.DragInput.Size = New System.Drawing.Size(57, 20)
- Me.DragInput.TabIndex = 5
- Me.DragInput.Value = New Decimal(New Integer() {300, 0, 0, 0})
+ Me.Label2.Text = "Listen port:"
'
'main
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(555, 147)
- Me.Controls.Add(Me.DragInput)
+ Me.Controls.Add(Me.PortInput)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.TapInput)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.LogText)
Me.Controls.Add(Me.StartButton)
Me.Name = "main"
- Me.Text = "Form1"
+ Me.Text = "Webcrab server"
CType(Me.TapInput, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.DragInput, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.PortInput, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -116,7 +116,7 @@ Partial Class main
Friend WithEvents LogText As System.Windows.Forms.TextBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents TapInput As System.Windows.Forms.NumericUpDown
+ Friend WithEvents PortInput As System.Windows.Forms.NumericUpDown
Friend WithEvents Label2 As System.Windows.Forms.Label
- Friend WithEvents DragInput As System.Windows.Forms.NumericUpDown
End Class
diff --git a/webcrab/main.vb b/webcrab/main.vb
index 95958d5..f31373a 100755
--- a/webcrab/main.vb
+++ b/webcrab/main.vb
@@ -1,5 +1,6 @@
Imports System.Threading
Imports System.Net
+Imports System.Web
Public Class main
Dim weblistener As HttpListener
Dim lastpos As New Point(0, 0)
@@ -11,11 +12,15 @@ Public Class main
weblistener.Abort()
weblistener = Nothing
log("Stopped")
+ My.Settings("listenport") = CUShort(PortInput.Value)
+ My.Settings.Save()
StartButton.BackColor = Color.Lime
StartButton.Text = "Start"
Else
+ Dim listenport As UShort = My.Settings("listenport")
+ PortInput.Value = listenport
weblistener = New HttpListener
- weblistener.Prefixes.Add("http://*:8080/")
+ weblistener.Prefixes.Add("http://*:" & listenport & "/")
weblistener.Start()
Dim listenthread As New Thread(AddressOf listenforconnection)
listenthread.Start()
@@ -47,7 +52,7 @@ Public Class main
' check for valid command packets
If path = "/" Then
- respstr = FileIO.FileSystem.ReadAllText("page.html")
+ respstr = FileIO.FileSystem.ReadAllText("res/page.html")
lastpacket = 0
Else
Dim pack As Long = context.Request.QueryString("seq")
@@ -162,7 +167,24 @@ Public Class main
keybd_press(VK.MEDIA_NEXT_TRACK)
End Select
+ Case "key"
+ Select Case req.QueryString("k")
+ Case "del"
+ keybd_press(VK.DELETE)
+ Case "bksp"
+ keybd_press(VK.KEY_BACK)
+ Case "enter"
+ keybd_press(VK.RETURN_KEY)
+ End Select
+
Case "text"
+ Dim encodedtext As String = req.QueryString("t")
+ Dim decodedtext As String = Uri.UnescapeDataString(encodedtext)
+ Try
+ SendKeysEscaped(decodedtext)
+ Catch ex As Exception
+ log(ex.ToString)
+ End Try
Case Else
Return "bad"
diff --git a/webcrab/res/page.html b/webcrab/res/page.html
index 1159d26..1453a5a 100755
--- a/webcrab/res/page.html
+++ b/webcrab/res/page.html
@@ -3,7 +3,7 @@
- webmouse client
+ webcrab client