Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB] Controllare la pressione dei tasti

    Innanzitutto ciao

    Io ho un problema di questo tipo: vorrei realizzare un'applicazione che gira in background (per intenderci, vicino all'orologio ) che, in qualsiasi applicazione io mi trovi (per esempio, all'interno di un gioco) alla pressione di un tasto faccia una determinata cosa.

    Per capirci, una sub form1_keypress, però che sia globale, e non attivata solo quando il programma è attivato.

    Fra le api ho trovato "keybd_event"... centra qualcosa?

    Grazie, ciao a tutti.
    by Matteo alias "Griffon"

  2. #2
    Ho trovato questo:

    codice:
    Public Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
    
    Private Sub Timer1_Timer()
        Dim keystate As Integer
        keystate = GetKeyState(vbKeyQ)
    
        If keystate And &H8000 Then
            MsgBox "premuto"
        End If
    End Sub
    In effetti funziona, io ogni istante controllo se il pulsante q (in questo caso) è stato premuto, e se si fa una msgbox.
    Il problema è: siccome l'ho messo dentro l'evento di un oggetto timer che viene generato ogni millisecondo, le prestazioni secondo voi sono ottimali? ci sono metodi più furbi?
    by Matteo alias "Griffon"

  3. #3
    certo. c'è il subclassing e cioè intercettare tutti i messaggi che sistema operativo usa per controllare l'esecuzione di applicazioni, apertura finestre, etc etc... ma è abbastanza difficile da spiegare. Te lo dovrai studiare da solo, mi spiace!

  4. #4
    Da dove posso iniziare? Detto così non ho la minima idea di dove trovare una documentazione... non puoi essere un po' più preciso.

    Grazie, ciao.
    by Matteo alias "Griffon"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.