Added support for keyboard text, and a few KB buttons.
Added variable listen port number and saving it.
This commit is contained in:
parent
63be44bf01
commit
0e3bed62dc
@ -1,6 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="webcrab.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
|
||||
</startup>
|
||||
<userSettings>
|
||||
<webcrab.My.MySettings>
|
||||
<setting name="listenport" serializeAs="String">
|
||||
<value>8080</value>
|
||||
</setting>
|
||||
</webcrab.My.MySettings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
|
12
webcrab/My Project/Settings.Designer.vb
generated
12
webcrab/My Project/Settings.Designer.vb
generated
@ -53,6 +53,18 @@ Namespace My
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("8080")> _
|
||||
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
|
||||
|
||||
|
@ -1,7 +1,9 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="listenport" Type="System.UInt16" Scope="User">
|
||||
<Value Profile="(Default)">8080</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@ -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
|
||||
|
44
webcrab/main.Designer.vb
generated
44
webcrab/main.Designer.vb
generated
@ -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
|
||||
|
@ -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"
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>webmouse client</title>
|
||||
<title>webcrab client</title>
|
||||
<style>
|
||||
body {
|
||||
width: 100%;
|
||||
@ -147,7 +147,7 @@ function handleCancel(evt) {
|
||||
|
||||
function handlekeypress(evt) {
|
||||
evt.preventDefault();
|
||||
sendmessage("text", evt.target.value, 0)
|
||||
sendmessage("text", "t=" + encodeURIComponent(evt.target.value));
|
||||
evt.target.value = "";
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user