Hallo,
ich habe ein kleines Problem, bin aber bei Google nicht fündig geworden.
Ich brauche ein Programm/DLL, die ich unter XP laden kann, was mir 2 Tasten tauscht.
Und zwar so: wenn ich "Rollen" drücke soll "ESC" ausgelöst werden und umgedreht.
Ich will niemanden ärgern oder so, ein Nutzer hat eine Linkshänder-Tastatur bekommen, da ist der Nummernblock links, aber bei AUTOCAD ist die wichtigste Taste die ESC-Taste, dadurch liegt sie nichtmehr außen und sie muss über den Nummernblock fassen.
Bei dieser Tastatur ist die äußerste Taste die "Rollen-Taste" deshalb möchte ich die beiden tauschen.
ich habe folgenden Code gefunden:
[highlight=vbnet]Protected Overrides Function ProcessCmdKey(ByRef msg As Message, _
ByVal keyData As Keys) _
As Boolean
Const WM_KEYDOWN As Integer = &H100
If (msg.Msg = WM_KEYDOWN) And _
(keyData = Keys.Escape) Then
Dim roll As Keys
SendKeys.Send(roll.RWin)
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function[/highlight]
Das Event wird auch ausgelöst, die Überprüfung klappt auch, ABER das SendKeys.Send() löst bei mir einen Crash aus.
Das kann daran liegen, das ich kein Formular oder so aktiviert habe? Kann ich mit SendKeys.Send Systemtasten senden?
Ich weiß, ich sende nicht die Rollen-Taste, ich wollte erstmal testen, welche CKonstante ist die Rollen-Taste?
Wie kann der Code aussehen, wenn ich es als DLL mit den Windowsstart mitladen lassen will, wo muss ich die DLL einbinden?
Danke!
Gruss ALex
ich habe ein kleines Problem, bin aber bei Google nicht fündig geworden.
Ich brauche ein Programm/DLL, die ich unter XP laden kann, was mir 2 Tasten tauscht.
Und zwar so: wenn ich "Rollen" drücke soll "ESC" ausgelöst werden und umgedreht.
Ich will niemanden ärgern oder so, ein Nutzer hat eine Linkshänder-Tastatur bekommen, da ist der Nummernblock links, aber bei AUTOCAD ist die wichtigste Taste die ESC-Taste, dadurch liegt sie nichtmehr außen und sie muss über den Nummernblock fassen.
Bei dieser Tastatur ist die äußerste Taste die "Rollen-Taste" deshalb möchte ich die beiden tauschen.
ich habe folgenden Code gefunden:
[highlight=vbnet]Protected Overrides Function ProcessCmdKey(ByRef msg As Message, _
ByVal keyData As Keys) _
As Boolean
Const WM_KEYDOWN As Integer = &H100
If (msg.Msg = WM_KEYDOWN) And _
(keyData = Keys.Escape) Then
Dim roll As Keys
SendKeys.Send(roll.RWin)
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function[/highlight]
Das Event wird auch ausgelöst, die Überprüfung klappt auch, ABER das SendKeys.Send() löst bei mir einen Crash aus.
Das kann daran liegen, das ich kein Formular oder so aktiviert habe? Kann ich mit SendKeys.Send Systemtasten senden?
Ich weiß, ich sende nicht die Rollen-Taste, ich wollte erstmal testen, welche CKonstante ist die Rollen-Taste?
Wie kann der Code aussehen, wenn ich es als DLL mit den Windowsstart mitladen lassen will, wo muss ich die DLL einbinden?
Danke!
Gruss ALex
Comment