Hallo,
ich hab ein kleines Problem mit meinem Hook, ich find ihn einfach nicht. Warum funktioniert er nur bei Großgeschriebenen Tasten wie z.B. A,B und nicht bei a,b??
Mein Code:
ich hab ein kleines Problem mit meinem Hook, ich find ihn einfach nicht. Warum funktioniert er nur bei Großgeschriebenen Tasten wie z.B. A,B und nicht bei a,b??
Mein Code:
VB.NET-Quellcode
- Public Class Form1
- Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer
- Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer)
- Private Const Key_NONE As Integer = &H0
- Private Const WM_HOTKEY As Integer = &H312
- Protected Overrides Sub WndProc(ByRef m As Message)
- 'die messages auswerten
- If m.Msg = WM_HOTKEY Then
- 'hier wird entschieden welcher hotkey es war
- 'einfach die übergebene id auswerten
- Select Case m.WParam
- Case 1
- TextBox1.Text = TextBox1.Text & "Q"
- Case 2
- TextBox1.Text = TextBox1.Text & "W"
- Case 3
- TextBox1.Text = TextBox1.Text & "E"
- Case 4
- TextBox1.Text = TextBox1.Text & "R"
- Case 5
- TextBox1.Text = TextBox1.Text & "T"
- Case 6
- TextBox1.Text = TextBox1.Text & "Z"
- Case 7
- TextBox1.Text = TextBox1.Text & "U"
- Case 8
- TextBox1.Text = TextBox1.Text & "I"
- Case 9
- TextBox1.Text = TextBox1.Text & "O"
- Case 10
- TextBox1.Text = TextBox1.Text & "P"
- Case 11
- TextBox1.Text = TextBox1.Text & "Ü"
- Case 12
- TextBox1.Text = TextBox1.Text & "A"
- Case 13
- TextBox1.Text = TextBox1.Text & "S"
- Case 14
- TextBox1.Text = TextBox1.Text & "D"
- Case 15
- TextBox1.Text = TextBox1.Text & "F"
- Case 16
- TextBox1.Text = TextBox1.Text & "G"
- Case 17
- TextBox1.Text = TextBox1.Text & "H"
- Case 18
- TextBox1.Text = TextBox1.Text & "J"
- Case 19
- TextBox1.Text = TextBox1.Text & "K"
- Case 20
- TextBox1.Text = TextBox1.Text & "L"
- Case 21
- TextBox1.Text = TextBox1.Text & "Ö"
- Case 22
- TextBox1.Text = TextBox1.Text & "Ä"
- Case 23
- TextBox1.Text = TextBox1.Text & "Y"
- Case 24
- TextBox1.Text = TextBox1.Text & "X"
- Case 25
- TextBox1.Text = TextBox1.Text & "C"
- Case 26
- TextBox1.Text = TextBox1.Text & "V"
- Case 27
- TextBox1.Text = TextBox1.Text & "B"
- Case 28
- TextBox1.Text = TextBox1.Text & "N"
- Case 29
- TextBox1.Text = TextBox1.Text & "M"
- Case 30
- TextBox1.Text = TextBox1.Text & ","
- Case 31
- TextBox1.Text = TextBox1.Text & "."
- Case 32
- TextBox1.Text = TextBox1.Text & " "
- Case 33
- TextBox1.Text = TextBox1.Text & vbNewLine ' Enter
- Case 34
- TextBox1.Text = TextBox1.Text & "0"
- Case 35
- TextBox1.Text = TextBox1.Text & "1"
- Case 36
- TextBox1.Text = TextBox1.Text & "2"
- Case 37
- TextBox1.Text = TextBox1.Text & "3"
- Case 38
- TextBox1.Text = TextBox1.Text & "4"
- Case 39
- TextBox1.Text = TextBox1.Text & "5"
- Case 40
- TextBox1.Text = TextBox1.Text & "6"
- Case 41
- TextBox1.Text = TextBox1.Text & "7"
- Case 42
- TextBox1.Text = TextBox1.Text & "8"
- Case 43
- TextBox1.Text = TextBox1.Text & "9"
- Case 44
- TextBox1.Text = TextBox1.Text & "1"
- Case 45
- TextBox1.Text = TextBox1.Text & "2"
- Case 46
- TextBox1.Text = TextBox1.Text & "3"
- Case 47
- TextBox1.Text = TextBox1.Text & "4"
- Case 48
- TextBox1.Text = TextBox1.Text & "5"
- Case 49
- TextBox1.Text = TextBox1.Text & "6"
- Case 50
- TextBox1.Text = TextBox1.Text & "7"
- Case 51
- TextBox1.Text = TextBox1.Text & "8"
- Case 55
- TextBox1.Text = TextBox1.Text & "9"
- Case 53
- TextBox1.Text = TextBox1.Text & "0"
- End Select
- End If
- MyBase.WndProc(m)
- End Sub
- Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- 'die tab taste wieder freigeben
- UnregisterHotKey(Me.Handle, 1)
- UnregisterHotKey(Me.Handle, 2)
- UnregisterHotKey(Me.Handle, 3)
- UnregisterHotKey(Me.Handle, 4)
- UnregisterHotKey(Me.Handle, 5)
- UnregisterHotKey(Me.Handle, 6)
- UnregisterHotKey(Me.Handle, 7)
- UnregisterHotKey(Me.Handle, 8)
- UnregisterHotKey(Me.Handle, 9)
- UnregisterHotKey(Me.Handle, 10)
- UnregisterHotKey(Me.Handle, 11)
- UnregisterHotKey(Me.Handle, 12)
- UnregisterHotKey(Me.Handle, 13)
- UnregisterHotKey(Me.Handle, 14)
- UnregisterHotKey(Me.Handle, 15)
- UnregisterHotKey(Me.Handle, 16)
- UnregisterHotKey(Me.Handle, 17)
- UnregisterHotKey(Me.Handle, 18)
- UnregisterHotKey(Me.Handle, 19)
- UnregisterHotKey(Me.Handle, 20)
- UnregisterHotKey(Me.Handle, 21)
- UnregisterHotKey(Me.Handle, 22)
- UnregisterHotKey(Me.Handle, 23)
- UnregisterHotKey(Me.Handle, 24)
- UnregisterHotKey(Me.Handle, 25)
- UnregisterHotKey(Me.Handle, 26)
- UnregisterHotKey(Me.Handle, 27)
- UnregisterHotKey(Me.Handle, 28)
- UnregisterHotKey(Me.Handle, 29)
- UnregisterHotKey(Me.Handle, 30)
- UnregisterHotKey(Me.Handle, 31)
- UnregisterHotKey(Me.Handle, 32)
- UnregisterHotKey(Me.Handle, 33)
- UnregisterHotKey(Me.Handle, 34)
- UnregisterHotKey(Me.Handle, 35)
- UnregisterHotKey(Me.Handle, 36)
- UnregisterHotKey(Me.Handle, 37)
- UnregisterHotKey(Me.Handle, 38)
- UnregisterHotKey(Me.Handle, 39)
- UnregisterHotKey(Me.Handle, 40)
- UnregisterHotKey(Me.Handle, 41)
- UnregisterHotKey(Me.Handle, 42)
- UnregisterHotKey(Me.Handle, 43)
- UnregisterHotKey(Me.Handle, 44)
- UnregisterHotKey(Me.Handle, 45)
- UnregisterHotKey(Me.Handle, 46)
- UnregisterHotKey(Me.Handle, 47)
- UnregisterHotKey(Me.Handle, 48)
- UnregisterHotKey(Me.Handle, 49)
- UnregisterHotKey(Me.Handle, 50)
- UnregisterHotKey(Me.Handle, 51)
- UnregisterHotKey(Me.Handle, 52)
- UnregisterHotKey(Me.Handle, 53)
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- 'die tab taste abfangen
- RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.Q)
- RegisterHotKey(Me.Handle, 2, Key_NONE, Keys.W)
- RegisterHotKey(Me.Handle, 3, Key_NONE, Keys.E)
- RegisterHotKey(Me.Handle, 4, Key_NONE, Keys.R)
- RegisterHotKey(Me.Handle, 5, Key_NONE, Keys.T)
- RegisterHotKey(Me.Handle, 6, Key_NONE, Keys.Z)
- RegisterHotKey(Me.Handle, 7, Key_NONE, Keys.U)
- RegisterHotKey(Me.Handle, 8, Key_NONE, Keys.I)
- RegisterHotKey(Me.Handle, 9, Key_NONE, Keys.O)
- RegisterHotKey(Me.Handle, 10, Key_NONE, Keys.P)
- RegisterHotKey(Me.Handle, 11, Key_NONE, Keys.OemSemicolon) 'Ü
- RegisterHotKey(Me.Handle, 12, Key_NONE, Keys.A)
- RegisterHotKey(Me.Handle, 13, Key_NONE, Keys.S)
- RegisterHotKey(Me.Handle, 14, Key_NONE, Keys.D)
- RegisterHotKey(Me.Handle, 15, Key_NONE, Keys.F)
- RegisterHotKey(Me.Handle, 16, Key_NONE, Keys.G)
- RegisterHotKey(Me.Handle, 17, Key_NONE, Keys.H)
- RegisterHotKey(Me.Handle, 18, Key_NONE, Keys.J)
- RegisterHotKey(Me.Handle, 19, Key_NONE, Keys.K)
- RegisterHotKey(Me.Handle, 20, Key_NONE, Keys.L)
- RegisterHotKey(Me.Handle, 21, Key_NONE, Keys.Oemtilde) 'Ö
- RegisterHotKey(Me.Handle, 22, Key_NONE, Keys.OemQuotes) 'Ä
- RegisterHotKey(Me.Handle, 23, Key_NONE, Keys.Y)
- RegisterHotKey(Me.Handle, 24, Key_NONE, Keys.X)
- RegisterHotKey(Me.Handle, 25, Key_NONE, Keys.C)
- RegisterHotKey(Me.Handle, 26, Key_NONE, Keys.V)
- RegisterHotKey(Me.Handle, 27, Key_NONE, Keys.B)
- RegisterHotKey(Me.Handle, 28, Key_NONE, Keys.N)
- RegisterHotKey(Me.Handle, 29, Key_NONE, Keys.M)
- RegisterHotKey(Me.Handle, 30, Key_NONE, Keys.Oemcomma) ',
- RegisterHotKey(Me.Handle, 31, Key_NONE, Keys.OemPeriod) '.
- RegisterHotKey(Me.Handle, 32, Key_NONE, Keys.Space)
- RegisterHotKey(Me.Handle, 33, Key_NONE, Keys.Enter)
- RegisterHotKey(Me.Handle, 34, Key_NONE, Keys.D0)
- RegisterHotKey(Me.Handle, 35, Key_NONE, Keys.D1)
- RegisterHotKey(Me.Handle, 36, Key_NONE, Keys.D2)
- RegisterHotKey(Me.Handle, 37, Key_NONE, Keys.D3)
- RegisterHotKey(Me.Handle, 38, Key_NONE, Keys.D4)
- RegisterHotKey(Me.Handle, 39, Key_NONE, Keys.D5)
- RegisterHotKey(Me.Handle, 40, Key_NONE, Keys.D6)
- RegisterHotKey(Me.Handle, 41, Key_NONE, Keys.D7)
- RegisterHotKey(Me.Handle, 42, Key_NONE, Keys.D8)
- RegisterHotKey(Me.Handle, 43, Key_NONE, Keys.D9)
- RegisterHotKey(Me.Handle, 44, Key_NONE, Keys.NumPad1)
- RegisterHotKey(Me.Handle, 45, Key_NONE, Keys.NumPad2)
- RegisterHotKey(Me.Handle, 46, Key_NONE, Keys.NumPad3)
- RegisterHotKey(Me.Handle, 47, Key_NONE, Keys.NumPad4)
- RegisterHotKey(Me.Handle, 48, Key_NONE, Keys.NumPad5)
- RegisterHotKey(Me.Handle, 49, Key_NONE, Keys.NumPad6)
- RegisterHotKey(Me.Handle, 50, Key_NONE, Keys.NumPad7)
- RegisterHotKey(Me.Handle, 51, Key_NONE, Keys.NumPad8)
- RegisterHotKey(Me.Handle, 52, Key_NONE, Keys.NumPad9)
- RegisterHotKey(Me.Handle, 53, Key_NONE, Keys.NumPad0)
- End Sub