Newsgroup: it.comp.lang.visual-basic
Titolo: Non riesco a simulare la tastiera

Vorrei fare un programmino che con un timer settato a 50 millisecondi acquisisca lo stato della tastiera e del mouse e poi li riproduca.
Lo scopo e' creare un semplice programmino che crei delle demo .
Non riesco a capire come mai riesco a riprodurre fedelmente gli eventi de lmouse e dei tasti 'num lock'  'caps lock' e non dei tasti alfanumerici.
Riassunto del codice che ho fatto nell'evento timer:
'Dichiarazione tipo dati per acquisizione
Type APPRENDIMENTO_MOUSE
  x As Long
  y As Long
  KeyState(0 To 256) As Byte
End Type
    Dim coord As POINT_TYPE  ' receives coordinates of cursor
    Dim retval As Long
    Dim Pos_Fisica_X As Long
    Dim Pos_Fisica_Y As Long
    Dim Ind As Integer
    If f_Registra = True Then
      'Registrazione degli eventi mouse e tastiera attraverso chiamate API (GetKeyboardState)
       retval = GetCursorPos(coord)  ' read cursor location
       Apprendimento(c_apprendimento).x = 65536 * coord.x / Pixel_Logical_X
       Apprendimento(c_apprendimento).y = 65536 * coord.y / Pixel_Logical_Y
 
       retval = GetKeyboardState(KeyStates(0))
       For Ind = 0 To 255
           Apprendimento(c_apprendimento).KeyState(Ind) = KeyStates(Ind)
       Next Ind
 
       c_apprendimento = c_apprendimento + 1
       If c_apprendimento = N_ACQUISIZIONI Then
          Command6.Enabled = True
          Timer2.Enabled = False
          c_apprendimento = 0
       End If
    Else
        'Riproduzione degli eventi mouse e tastiera attraverso chiamate API (SetKeyboardState)
        Pos_Fisica_X = 65536 * Mouse_Pos(1, 0) / Pixel_Logical_X
        Pos_Fisica_Y = 65536 * Mouse_Pos(1, 1) / Pixel_Logical_Y
        '                                                       Y ,   X
        mouse_event MOUSEEVENTF_MOVE Or MOUSEEVENTF_ABSOLUTE, Apprendimento(c_apprendimento).x, Apprendimento(c_apprendimento).y, 0, 0
 
        For Ind = 0 To 255
            KeyStates(Ind) = Apprendimento(c_apprendimento).KeyState(Ind)
        Next Ind
        retval = SetKeyboardState(KeyStates(0))
 
        c_apprendimento = c_apprendimento + 1
        If c_apprendimento = N_ACQUISIZIONI Then
           Command6.Enabled = False
           Timer2.Enabled = False
           c_apprendimento = 0
        End If
 
    End If
Questa funzione e' sotto l'evento timer, ma non riesco a riprodurre  i tasti , come mai secondo voi ?
Ci sono alternative per fare un programmino che faccia le demo e cioe che apprenda i movimenti del mouse le pressioni dei tasti per poi riprodurli ?
Grazie anticipatamente.
 
--
Posted from [151.88.109.34] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 i movimenti del mouse le pressioni dei tasti per poi riprodurli ?
su 
http://www.scottandmichelle.net/scott/code
 c'è un ottimo esempio da cui
partire per fare ciò che ti serve (credo...)
Ciao
Faber

 ha scritto nel messaggio
news:f82901bfd9fd$ac775c00$246d5897@ciaoweb...










    End If
Questa funzione e' sotto l'evento timer, ma non riesco a riprodurre  i tasti
, come mai secondo voi ?
Ci sono alternative per fare un programmino che faccia le demo e cioe che
apprenda i movimenti del mouse le pressioni dei tasti per poi riprodurli ?
Grazie anticipatamente.


> non scoprire l'acqua calda  e' gia stata inventata
scoprire l'acqua calda è il passaggio necessario per scoprire il vapore.
ovvero: l'esercizio non è mai inutile, anzi...
Ciao
Faber