Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C/C++]Simulare pressione di tasti

    Dovrei simulare la pressione di alcuni tasti ..
    qualche suggerimento? Non saprei da dove cominciare.
    ciao

  2. #2

  3. #3
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    che intendi per simulare una pressione?

  4. #4
    forse intendi dire...
    "
    premere e catturare un tasto
    tipo funzione (F1,F2,F3,F4...)
    o
    tipo frecce direzionali (su, giù, sinistra, destra)
    "

    se [SI], si fa così:
    codice:
    #include<stdio.h>
    #include<conio.h>
    
    int main()
    {
        char c;
             
        while(c!=27) // [ESCAPE (premi ESC) per uscire]
        {
            c=getch();
            if(c==-32)
            {
                c=getch();
                if(c==72)
                    printf("Freccia SU\n");
                else if(c==80)
                    printf("Freccia GIU'\n");
                else if(c==77)
                    printf("Freccia DESTRA\n");
                else if(c==75)
                    printf("Freccia SINISTRA\n");
            }    
        }
    
        return 0;
    }
    per i tasti funzione invece:
    codice:
    c=getch();
    if(c==0 || c==-32)
                c=getch();
                if(c==59)
                    printf("F1 = 0, 59\n");
                else if(c==60)
                    printf("F2 = 0, 60\n");
                else if(c==61)
                    printf("F3 = 0, 61\n");
                else if(c==62)
                    printf("F4 = 0, 62\n");
                else if(c==63)
                    printf("F5 = 0, 63\n");
                else if(c==64)
                    printf("F6 = 0, 64\n");
                else if(c==65)
                    printf("F7 = 0, 65\n");
                else if(c==66)
                    printf("F8 = 0, 66\n");
                else if(c==67)
                    printf("F9 = 0, 67\n");
                else if(c==68)
                    printf("F10 = 0, 68\n");
                else if(c==-123)
                    printf("F11 = -32, -123\n");
                else if(c==-122)
                    printf("F12 = -32, -122\n");
            else
                printf("%c = %d\n", c, c);
    ...
    ...
    ...
    ...Terrible warlords, good warlords, and an english song

  5. #5
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    oppure puoi usare i vitrual key molto funzionali

  6. #6
    vi spiego
    apro notepad e poi lancio il mio programma, vorrei riuscire a far scrivere al mio programma in notepad, simulando appunto la pressione dei tasti

  7. #7

  8. #8
    In altre parole vuoi fare in modo che sia il tuo programma a scatenare gli eventi dei keypress che verranno poi intercettati dal sistema operativo?

    Cercai anche io di fare qualcosa del genere, ma non riuscii.

    Ora come ora ti consiglierei di provare in 2 modi:
    1. Se esiste un'API generica usa quella (bhooo)
    2. Trova l'array in cui vengono immagazzinate le query degli eventi e inserisci tu le strutture adatte.

    Questo 2o metodo sarebbe facile da applicare in qualche piccolo sistema a se' stante, ad esempio una libreria che puo' catturare gli eventi della tastiera. Per interagire tra un programma e l'altro dovresti trovare la coda con TUTTI gli eventi in comune al sistema operativo: non credo sia una bazzecola.

    Inizia a dire che OS usi.

    Ciauz
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

  9. #9
    per win possibilmente..

  10. #10
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    sospettavo una cosa simile ma non conosco le api purtroppo

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.