Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di mhidy
    Registrato dal
    Jan 2005
    Messaggi
    28

    [C] Eventi della tastiera

    Salve a tutti,
    dovrei controllare ciclicamente la pressione delle frecce della tastiera, e nel caso anche altri tasti, senza quindi dover premere invio ogni volta per far accettare la pressione.

    Inoltre sapete come mettere dei ritardi nel prog?

    Grazie mille.
    Fa marcia indietro e uccide il cane, fa marcia avanti e uccide il gatto (Corriere della Sera, 1992)
    Si è spento l'uomo che si è dato fuoco (Giornale di Sicilia, 1998)

  2. #2
    Da come lo hai descritto sembrerebbe che tu volessi creare un keylogger..ma siccome credo nella tua buona fede ti consiglio di usare la funzione API "GetAsyncKeyState"..se poi vuoi esempi ti posso consigliare qualcosa..ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    33
    ciao ecco qui un ottimissima guida su GetAsyncKeyState emolte altre cosette...winsock, code injection....
    http://unsecure.altervista.org/tastiera/tastiera.htm

  4. #4

    Re: [C] Eventi della tastiera

    Originariamente inviato da mhidy
    Salve a tutti,
    dovrei controllare ciclicamente la pressione delle frecce della tastiera, e nel caso anche altri tasti, senza quindi dover premere invio ogni volta per far accettare la pressione.
    Forse ti può interessare anche questa soluzione ...


    Inoltre sapete come mettere dei ritardi nel prog?

    Grazie mille.
    C'è la funzione Sleep( millisecondi ) definita in "windows.h"
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Utente di HTML.it L'avatar di mhidy
    Registrato dal
    Jan 2005
    Messaggi
    28
    Siete stati assolutamente splendidi! poi nel caso posterò se dovesi avere qualche problem..
    Fa marcia indietro e uccide il cane, fa marcia avanti e uccide il gatto (Corriere della Sera, 1992)
    Si è spento l'uomo che si è dato fuoco (Giornale di Sicilia, 1998)

  6. #6
    Utente di HTML.it L'avatar di mhidy
    Registrato dal
    Jan 2005
    Messaggi
    28
    MdE2005 ascolta, ho un ciclo while, che si ripete fino alla modifica di una variabile, per modificarla occorre digitare il tasto 'A' da tastiera. Non volgio però far bloccare il programma, decidendo così di usare il GetAsyncKeyState(). Solo che non accetta la digitazione.
    Il codice è il seguente (della condizione):

    codice:
    void controlla_tastiera(){
         if (GetAsyncKeyState("VK_A")) game_over++;
    }
    solo che il programma continua per la sua strada ed io rimango li senza poter uscire dal ciclo..... HELP ME!
    Fa marcia indietro e uccide il cane, fa marcia avanti e uccide il gatto (Corriere della Sera, 1992)
    Si è spento l'uomo che si è dato fuoco (Giornale di Sicilia, 1998)

  7. #7
    Originariamente inviato da mhidy
    ...
    Il codice è il seguente (della condizione):

    codice:
    void controlla_tastiera(){
         if (GetAsyncKeyState("VK_A")) game_over++;
    }
    ...
    Innanzitutto VK_A non è definita da nessuna parte!
    Controlla in 'winuser.h'

    L'errore è "VK_A" che non ha senso visto che la funzione non accetta
    stringhe in input, ma valori int.
    Sostituiscilo con 'A' (o 65 o 0x41) e funzionerà.
    Comunque l'altra soluzione (quella con il kbhit() ) è più
    portabile visto che non utilizza le API.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.