|
| Autor |
Nachricht |
mikulas58 Newbie

Anmeldedatum: 03.11.2010 Beiträge: 3
|
Tastendruck simulieren
Verfasst am: 03.11.2010, 08:54 |
|
|
Hallo Experte,
ich bin 52J hobby VB Programmierer.
Möchte gerne Durch anklicken von Buttons Tastendrücke, Tastenkombinationen, wie z.B.: NumpadMult auslösen.
Software: Microsoft Visual Basic 2010 Express
Könnt Ihr weiterhelfen?
Danke im Voraus
Ferenc |
|
| |
|
 |
christopher.g Überflieger

Anmeldedatum: 03.05.2008 Beiträge: 565
|
Verfasst am: 03.11.2010, 11:14 |
|
|
hi
kein problem
| Code: |
Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal _
dwFlags As Integer, ByVal dx As Integer, _
ByVal dy As Integer, ByVal cButtons As Integer, ByVal _
dwExtraInfo As Integer)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
private Sub Button1_Click...
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
end sub
'vorher noch den cursor richtig positionieren
cursour.position = new point(xposytion, ypostion)
'du kannst auch zwischen down und up eine andere position angeben
'dann wird verschieben simuliert ;-)
|
tastenkombinationen sind auch kein problem
| Code: | SendKeys ("{enter}")
' oder einfach nur
Sendkeys "Test Text"
|
lg |
|
| |
|
 |
mikulas58 Newbie

Anmeldedatum: 03.11.2010 Beiträge: 3
|
ich habe mich nicht richtig ausgedrückt
Verfasst am: 03.11.2010, 11:34 |
|
|
Hallo Christopher,
danke für deine Antwort.
Ich muss mich korrigieren:
Also, ich möchte einen Button (in einer Form) mit der Maus anklicken und das Anklicken soll einen Tastendruck simulieren. Wie z.B.: die Taste---> NumpadMult
Es soll ähnlich wie die Bildschirmtastatur funktionieren, aber ich will nur die Nummerntastatur in mein Programm integrieren.
Das Ziel ist, dass ich ohne Tastatur, nur mit der Maus das Nummernblock "tippen" kann.
Danke für Euere Antwort im Voraus
Ferenc |
|
| |
|
 |
christopher.g Überflieger

Anmeldedatum: 03.05.2008 Beiträge: 565
|
Verfasst am: 03.11.2010, 14:13 |
|
|
hy
achso
ja ist auch kein problem....
mit
| Code: |
form1_KeyDown(keycode as integer) 'oder wie auch immer
If KeyCode = vbKeyNumpad1 Then Call Button1_Click
end sub
|
problem dabei ist
da du buttons auf der form hast hat die form nie den focus
und keydownevent funk nicht ...
(vl ist es in vb.net mittlerweile anders)
das heist du hast die wahl
ob du bei deinem Taschenrechner in jeden button die codezeile eingibst oder mit einem
timer prüfst welche taste gedrückt wurde...
für den fall dass du wirklich einen taschenrehner schreibst
ist mir grad folgendes eingefallen...
| Code: |
'weise deinen buttons einen index zu... von 0 beginnend
private sub button1_Keydown(keycode as integer, Index as integer) 'oder wie auch immer
if keycode <= 105 and keycode >= 96 then 'zahl 0 bist zahl 9
call button1(keycode - 96)
end if
end sub
|
vorab...
ich kann eigentlich nur vb6
und der code ist rein aus gedanken geschrieben aber könnte so funktionieren
lg |
|
| |
|
 |
mikulas58 Newbie

Anmeldedatum: 03.11.2010 Beiträge: 3
|
Verfasst am: 03.11.2010, 18:34 |
|
|
Hallo Christopher,
ich will aber nicht die Tastatur drücken, mit dem Cursor ein Button in meiner Form anklicken. Das Anklicken soll den Tastendruck simulieren. Ich kann meine Form in Focus setzten. Das habe ich schon gelöst.
Schöne Grüße
Ferenc |
|
| |
|
 |
christopher.g Überflieger

Anmeldedatum: 03.05.2008 Beiträge: 565
|
Verfasst am: 04.11.2010, 08:23 |
|
|
das heist du willst button1_click und dann dass ein tastendruck simuliert wird
wo willst denn tastendruck simulieren?
und was für einen?
[alt] [strg] [a] [z]
probiers mal mit sendkeys
vl hilft dir das weiter |
|
| |
|
 |
|
|