PDA

Visualizza la versione completa : [C/C++] Gestione Tastiera


BlackSk
24-12-2012, 00:41
Salve ragazzi..ho cercato ovunque ma non riesco a trovar la soluzione al mio quesito.

In pratica devo creare un programma che digita dei caratteri della tastiera. Ad esempio il programma (mediante gestione delle funzioni del cursore) apre un programma di scrittura e deve inserire dei caratteri che decido io al momento della compilazione. Le ho provate tutte ma non riesco a venirne a capo..

Ringrazio anticipatamente chiunque mi voglia aiutare ^^

c0der
24-12-2012, 00:55
Hai un software già esistente simile da citare come esempio? giusto per capire cosa vuoi fare, perché non è chiarissimo.

oregon
24-12-2012, 01:03
Se ho capito e usi Windows puoi usare la API SendInput (vedi MSDN)

BlackSk
24-12-2012, 15:16
Cioè? cosa sarebbe la API? Scusa l'ignoranza..

Comunque il programma che voglio creare deve semplicemente digitare dei caratteri..immagina che ho il blocco note aperto, apro il programma e lui in automatico scrive una parola sul blocco note..capito?

oregon
24-12-2012, 15:46
Sì ... ho capito ... e ti ho detto come fare.

Fai delle ricerche per capire cosa è una API e come si usa.

Non è possibile darti la pappa pronta e quindi prova tu a leggere la documentazione della SendInput

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx

BlackSk
24-12-2012, 16:08
Ok ho fatto delle ricerche ed ho trovato la spiegazione delle API e il codice per implementare quel che richiedevo.

Sono d'accordo sul fatto che "non bisogna aver la pappa pronta" però penso che in un forum come questo, dove ci va solo gente che ha voglia di imparare, bisognerebbe almeno introdurre l'argomento, sennò finisce che chiunque (come me) finisce su un altro forum dove si va dritto al sodo.
Inoltre penso che se tu mi dici "il codice è questo:" bla bla e me lo scrivi tutto, non mi stai dando la pappa pronta: sarò io poi a studiarmi il codice che mi hai gentilmente scritto e modificarlo (o interpretarlo, vedila come vuoi) in base ai miei bisogni. La programmazione non è una materia o una sequenza di regole da seguire severamente, bensì un'arte, è un modo per esprimere delle idee, dei concetti. Poi lo stupido prende il codice e lo incolla lì senza capire che significano quelle sigle inglesi, ma vedrai che al primo intoppo capirà che in questo modo non si va da nessuna parte.

Grazie comunque per le risposte ^^

oregon
24-12-2012, 18:24
Originariamente inviato da BlackSk
Ok ho fatto delle ricerche ed ho trovato la spiegazione delle API e il codice per implementare quel che richiedevo.

Bene


Sono d'accordo sul fatto che "non bisogna aver la pappa pronta" però penso che in un forum come questo, dove ci va solo gente che ha voglia di imparare, bisognerebbe almeno introdurre l'argomento,

E te l'ho introdotto, sebbene la tua richiesta non sia stata neanche chiara.
Quindi, ho "interpretato" e ti ho dato un suggerimento. Ma se tu non sai neanche cosa sia una API ...


sennò finisce che chiunque (come me) finisce su un altro forum dove si va dritto al sodo.

E chi te lo impedisce?


Inoltre penso che se tu mi dici "il codice è questo:" bla bla e me lo scrivi tutto, non mi stai dando la pappa pronta:

Ah, no ? E come la chiami tu ?


sarò io poi a studiarmi il codice

O anche no ... potrai non studiare ... fatto sta che ti ho dato la "pappa pronta", cosa vietata anche dal regolamento.

BlackSk
24-12-2012, 21:40
E' facile prendere frasi a caso di un discorso per rigirare la frittata.
Comunque sia non mi importa ciò che pensi tu, io studio questo linguaggio nel senso che uso libri di testo, materiale cartaceo e interattivo, per comprenderlo realmente. Quindi se tu mi scrivi un pezzo di codice io lo studio fino a capirne il reale significato e poterlo adattare o, addirittura riscrivere MEGLIO.
Te probabilmente sei uno di quelli che ruba spezzoni di codice qua e la per i forum, imparandoli a memoria, e magari dice in giro pure d'esser un programmatore o chissà cosa, finendo per snobbare chi come me chiede 2 righe di codice. Quindi abbassa la cresta amico ed evita risposte come quella precedente ^^

oregon
25-12-2012, 00:08
Originariamente inviato da BlackSk
E' facile prendere frasi a caso di un discorso per rigirare la frittata.
...

Guarda ... lascia stare questi discorsi che non c'entrano nulla con quello che ti ho detto ed evita di far partire flame inutili.

Questo forum ha queste regole, quindi è necessario seguirle. Non c'è molto altro da dire da questo punto di vista.

Al contrario, dato che ti ho suggerito cosa usare e visto che studi da libri e altro, prova a scrivere del codice che usa la SendInput (cerca con google i dettagli), mostralo e si parla di quello che non va.

Qui funziona così.

MItaly
25-12-2012, 02:39
Originariamente inviato da BlackSk
...
Evitiamo sparate e litigi; come vedi la dritta della SendInput è stata esattamente quello di cui avevi bisogno: sei stato messo nella giusta direzione e sei arrivato alla soluzione da solo, per cui da questa situazione ci hai guadagnato sicuramente di più, come programmatore, rispetto a che ti fosse stato fornito del codice già pronto (e in ogni caso su SendInput e keyb_event si trovano montagne di codice in giro).

È esattamente questo il motivo per cui su questo forum si cerca di "dare la dritta giusta" o di fare ragionare piuttosto che dare il codice pronto: in entrambi i modi in genere si risolve il problema, ma nel primo si impara ad essere programmatori, nell'altro no. :) (e fidati che spesso l'approccio "maieutico" costa molta più fatica rispetto al fornire del codice pronto :spy: )

Te probabilmente sei uno di quelli che ruba spezzoni di codice qua e la per i forum, imparandoli a memoria, e magari dice in giro pure d'esser un programmatore o chissà cosa, finendo per snobbare chi come me chiede 2 righe di codice.
Conosco "forumisticamente" oregon da un certo numero di anni e sono abbastanza sicuro che quanto dici non corrisponda al vero. :D

:ciauz: e auguri! :zizi:

Loading