| |
VB & Windows APIAuto. Tastendrucks verhindern (API = GetAsyncKeyState) | | | Autor: NickName | Datum: 18.09.10 17:36 |
| Hallo,
ich habe eine Frage zu diesem Tip: http://www.vbarchiv.net/api/details.php?id=getasynckeystate
Wie kann ich es verhindern, wenn z.B. die Taste "7" gedrückt & gehalten wird, dass die "7" aber nur einmal angezeigt wird. Hier mal ein Code, einfach nur einen Timer und ein Label hinzufügen:
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" _
(ByVal vKey As Long) As Integer
Dim Retval As Long, i As Long
Private Sub Form_Load()
Label1.Left = 780: Label1.Top = 90
Label1.Height = 3000: Label1.Width = 3000
Label1.FontBold = True: Label1.FontSize = 18
Label1.Caption = vbNullString
Label1.BorderStyle = 1
Label1.Alignment = 1
Timer1.Interval = 3: Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
' Die Zahlen über der Tastatur werden abgefangen
For i = 48 To 57
Retval = GetAsyncKeyState(i): If Retval = -32767 Then Exit For
Next i
If i < 58 Then Label1.Caption = Label1.Caption & i - 48
' Die Zahlen des Tastaturpads werden abgefangen
For i = 96 To 105
Retval = GetAsyncKeyState(i): If Retval = -32767 Then Exit For
Next i
If i < 106 Then Label1.Caption = Label1.Caption & i - 96
End Sub Man wird verstehen was ich meine, wenn man dieses Prog. startet!
Gruß | |
Re: Auto. Tastendrucks verhindern (API = GetAsyncKeyState) | | | Autor: NickName | Datum: 18.09.10 18:03 |
| Hallo,
ich glaube du verstehst mich falsch.
Ich meine, die wiederholten Tastenschläge sollen unterbunden werden bzw. es kann abgefragt werden ...
Das hatte ich schon mal, nur ich finde es nicht mehr. ... | |
Re: Auto. Tastendrucks verhindern (API = GetAsyncKeyState) | | | Autor: Martoeng (Moderator) | Datum: 19.09.10 14:36 |
| http://msdn.microsoft.com/en-us/library/ms645530%28v=VS.85%29.aspx
Da stehen alle Keyboard-Funktionen.
Über SystemParametersInfo kannst Du abfragen, wie schnell sich der Anschlag wiederholt.
Const SPI_GETKEYBOARDSPEED = 10&
Const SPI_GETKEYBOARDDELAY = 22&
private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(byval uAction as Long, byval uParam as Long, lpvParam as Any, byval _
fuWinIni as Long) as Long
Ausschalten kann man das meines Wissens nicht.
SPI_SETKEYBOARDDELAY
Sets the keyboard repeat-delay setting. The uiParam parameter must specify 0, 1, 2, or 3, where zero sets the shortest delay approximately 250 ms) and 3 sets the longest delay (approximately 1 second). The actual delay associated with each value may vary depending on the hardware.
SPI_SETKEYBOARDSPEED
Sets the keyboard repeat-speed setting. The uiParam parameter must specify a value in the range from 0 (approximately 2.5 repetitions per second) through 31 (approximately 30 repetitions per second). The actual repeat rates are hardware-dependent and may vary from a linear scale by as much as 20%. If uiParam is greater than 31, the parameter is set to 31.
vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|