Da mir langweilig ist und mein hammer gut eine stunde zum compilen braucht,
schreibe ich mal ein kleines tutorial (auserdem hab ich keinst auf dieser webseite gefunden)
ALSO
Was brauche ich?
- Visual Basic 2010 Express (mindestens)
- Ein wenig Zeit und Gedult
Wie installiere ich Visual Basic 2010 Express?
Downloaded die datei vb_web.exe und führt sie ganz normal aus (achtung es dauert je nach internetverbindung länger)
danach öffnet den ordner (auser ihr habt bereits eine verknüpfung auf eurem desktop) "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\"
und sucht die datei vbexpress
Wo Bleibt das tutorial?
Lest weiter und ihr seht es
Am anfang kommt das erstellen . . .
Wenn ihr vbexpress gestartet habt klickt auf "Neues Projekt..."
Dann öffnet sich ein neues fenster in dem ihr "Windows Forms-Anwendung" aus danach wählt einen namen ich nenne es einfach nur "keybinder_tut"
Klickt auf "OK" um fortzufahren
Und Gott sprach es werde ein programm . . .
Nun schliest sich das fenster und ihr bekommt einen (wahrscheinlich) unbekannten teil zu sehen
dort ist ein kleines fenster das ihr nicht bewegen könnt und auch nicht schliesen könnt
aber nur neben bei KEINE PANIK ihr seit im windows form editor und das fenster ist eure form
Was kommt auf das kleine fenster (auch genannt form) . . .
nun wählt in der "Toolbox" das tool "TextBox" aus und zieht es auf euer fenster bis es so liegt das es euch gefällt
danach sucht das tool "CheckBox" herraus und zieht es ebenfalls auf euer fenster
danach müsst ihr einen "Timer" suchen und RICHTIG wieder aufs fenster (achtung dieser verschiebt sich automatisch dann nach unten und nicht auf das fenster!)
Wozu war das jetzt gut?
Die "TextBox"
Enthält später euren auszugebenden text
Die "CheckBox"
Ist zum aktivieren/deaktivieren des keybinders
Der "Timer"
Ist für die überprüfung der gedrückten keys da
Okay und weiter auf der form . . .
Jetzt klickt ihr auf euren "Timer" und klickt auf "Eigenschaften" Dort solltet ihr sieben einstellungen sehen die da wären:
- (ApplicationSettings)
- (Name)
- Enabled
- GenerateMember
- Interval
- Modifiers
- Tag
Interesant sind die die in der liste (hier im forum) grün sind die anderen solltet ihr erst mal so lassen wie sie sind
Enabled setzen wir auf "true"
Dies dient eben dazu das der "Timer" von anfang an aktiviert ist und nicht erst manuell aktiviert werden muss
danach setzen wir "Interval" auf 250
Du kannst es aber auch auf 100 lassen aber merke! kleineres value = mehr leistung - größeres value = weniger leistung
Wer jetzt jedoch denk "suppi dann setzt ich das auf 5000 und dann ist der supper leistungssparend" der hat sich geschnitten!
denn dann wird nur alle 5 sekunden überprüft ob eine taste auf der tastatur gedrückt wurde! darum 250
Und nun der Anfang . . .
Klickt zwei mal auf "Timer" und . . . siehe da es öffnet sich ein weiterer tab in dem ihr plötzlich das hier seht:
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
End Class
Das ist der Code eurer form er ist im moment noch leer wie ihr sehen könnt
Zitat von ein paar basics"Public Class Form1" und "End Class" gehören zusammen diese definieren den namen der klasse und kenzeichnen den anfang und das ende
Zitat von ein paar basics"Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick" und "End Sub" gehören auch zusammen wie man schon vermuten kann wird dieser abschnitt immer dann ausgeführt wenn der timer seinen intervall erfüllt hat (oder anders
wenn er Tickt XD)
Nun fügen wir "Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Integer) As Short" direkt unter "Public Class Form1" ein
dann solllte es bei euch so aussehen:
Public Class Form1
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Integer) As Short
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
End Class
Die funktion "GetAsyncKeyState" Die wir soeben deklariert haben ist unser KeyChecker der überprüft ob jemand auf der tastatur einen knopf drückt
Mittelteil - Da wo es schwieriger wird . . .
Nun werden wir erst mal nur in
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
uns bewegen
naja als erstest sagem wir dem programm das es nur dann deine tastatur eingaben überprüfen soll wenn du deine "CheckBox" angeklickt hast (also sie markiert ist)
dies machen wir durch eine if abfrage
Danach fügen wir zwischen dem "Then" und dem "End If" die tastatur abfrage ein
dafür nutzen wir wieder eine if abfrage allerdings diesesmal mit der funktion "GetAsyncKeyState"
Nach "GetAsyncKeyState" kommt eine klammer mit dem inhalt "Keys.F1" hier könnt ihr auch genau so gut "Keys.A" herrein schreiben denn hier sagt ihr der if abfrage was sie überprüfen soll und das ist in diesem falle ob der benutzer F1 drückt
Aber danach soll ja auch was geschehen darum fügen wir dazwischen jetzt folgendes ein:
durch "SendKeys.SendWait" Sendet das programm denn danach in klammern stehenden text(der falls es dann wirklich ein text ist und kein objekt mit "" gefüßelt werden muss) Es wartet allerdings bis euer OS diese anfrage verarbeitet hat und sendet frühstens danach wieder etwas (dies ist leistungssteigernd darum nutze ich das)
"TextBox1.Text" sagt dem programm nur woher es den text nehmen soll
Danach sollte euer code in etwa so aussehen:
Public Class Form1
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Integer) As Short
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If CheckBox1.CheckState = CheckState.Checked Then
If GetAsyncKeyState(Keys.F1) Then
SendKeys.SendWait(TextBox1.Text)
End If
End If
End Sub
End Class
Alles anzeigen
(bitte weiter scrollen bis zum dritten post für PART2)
@ [DCR]Patty danke fürs zwischen posten