I compiled it in VS2010, so if you want the source it's right here:
[PHP]Public Class Form1 #Region "Declarations"
Private Const VK_RETURN As Byte = &HD
Private Const KEYEVENTF_KEYUP As Byte = &H2
Private Declare Function VkKeyScan Lib "user32" Alias "VkKeyScanA" (ByVal yourchar As Char) As Integer
Private Declare Function keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer) As Boolean
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Int32) As Int16
Dim str() As Char #End Region #Region "Sending the Keys"
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim i As Integer = 0
Do Until i = str.Count 'performs an action until all the characters are covered
keybd_event(VkKeyScan(str(i)), 0, 0, 0) 'keydowns the specified character
keybd_event(VkKeyScan(str(i)), 0, KEYEVENTF_KEYUP, 0) 'keyups the specified character
i = i + 1
Loop
keybd_event(VK_RETURN, 0, 0, 0) 'Keydowns enter key
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0) 'Keyups enter key
End Sub #End Region #Region "Hotkeys"
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If GetAsyncKeyState(Keys.F7) Then 'If F7 is pushed
Button1_Click(sender, e) 'Calls button1_click event that starts the timer
End If
If GetAsyncKeyState(Keys.F8) Then 'IF F8 is pushed
Timer2.Stop() 'Stops the timer that sends the keys
End If
End Sub #End Region #Region "Button Clicks"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox1.Text = " " Then 'if there's no text
MsgBox("ERROR: No text to send", MsgBoxStyle.Critical)
Else
TextBox1.Text = TextBox1.Text.ToLower 'converts text to lowercase
str = TextBox1.Text.ToCharArray 'converts Textbox1 to a char array, to be sent
Timer2.Start() 'starts timer that sends keys
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Timer2.Stop()
End Sub #End Region #Region "Credits and usage"
'Credits go Mainly to Lolland(Me) @ MPGH.net, with some ideas/help from NextGen1.
'Blubb1337, Xscapism, J-Deezy, and NextGen1 are awesome.
'
'If you wish to use this source for a release, please give me credits. Much time
'was spent on this project, and I'd appreciate recognition for it.
'Modification towards the project is welcome and encouraged.
'
'Have fun!
' _____ _____ _____ _____ _____ _____ _____
'| | _ | __| | | | | | __|_ _|
'| | | | __| | | | _ | | | | __| | |
'|_|_|_|__| |_____|__|__| |_| |_|___|_____| |_| #End Region
End Class
[/PHP]
To be honest, I'd expect some improvements on this code if you were to release such a thing, but I wouldn't be surprised if I saw some exact duplicates without any credits.