Ultima modifica da un moderatore:
buonasera a tutti, sto cercando di creare un programma che prende un carattere inserito da tastiera e mi restituisce in output un carattere a caso...
vi allego una parte del programma (non ancora completo):
l'ho provato e funziona solamente dal cmd e vorrei farlo funzionare su tutto il sistema...ovviamente l'ho provato anche in modalità amministratore ma ogni volta che scrivo anche su un file txt o se faccio una ricerca su google mi da sempre il carattere inserito in input (es. input a, output a). come faccio a estendere il programma sul tutto il sistema?
P.S.il sistema discusso è windows e non linux. grazie a tutti per l'aiuto in anticipo
vi allego una parte del programma (non ancora completo):
C:
#include<iostream>
#include<windows.h>
#include<cstdlib>
#include<conio.h>
#define DELAY 100
using namespace std;
/*
---CARATTERI PER ASSEGNAZIONE AUTOMATICA
*/
char car[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char Car[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char number[10] = {'1','2','3','4','5','6','7','8','9','0'};
char special[11] = {'!','"','£','$','%','&','/','(',')','=','?'};
void key(int a, int b);
int main()
{
bool press=false;
int ran;
FreeConsole(); //NASCONDI CONSOLE
srand(time(NULL));
while(true)
{
for(int i=8; i<=222; i++) //CARATTERI ASCII
{
if(GetAsyncKeyState(i) != press)
{
ran = rand()%26+1; //GENERA NUMERO CASUALE (ANCORA DA SISTEARE BENE)
key(i, ran);
Sleep(DELAY);
}
}
}
return 0;
}
void key(int a, int b) //i, ran
{
switch(a)
{
/*
------CARATTERI------
*/
case 65:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT)) //SE VIENE PREMUTO A (65) VERIFICA SE è PREMUTO IL TASTO SHIFT SINISTRA O DESTRA
_putch(Car); //CALCOLA IL CARATTERE DA INSERIRE CASUALMENTE CON LA FUNZIONE RAND (B) USATO COME ARGOMENTO DAL MAIN AL VOID
else
_putch(car);
break;
case 66:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 67:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 68:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 69:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 70:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 71:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 72:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 73:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 74:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 75:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 76:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 77:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 78:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 79:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 80:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 81:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 82:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 83:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 84:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 85:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 86:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 87:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 88:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 89:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
case 90:
if (GetAsyncKeyState(VK_LSHIFT) || GetAsyncKeyState(VK_RSHIFT))
_putch(Car);
else
_putch(car);
break;
/*
------NUMMERI------
*/
case 48:
break;
case 49:
break;
case 50:
break;
case 51:
break;
case 52:
break;
case 53:
break;
case 54:
break;
case 55:
break;
case 56:
break;
case 57:
break;
}
}
l'ho provato e funziona solamente dal cmd e vorrei farlo funzionare su tutto il sistema...ovviamente l'ho provato anche in modalità amministratore ma ogni volta che scrivo anche su un file txt o se faccio una ricerca su google mi da sempre il carattere inserito in input (es. input a, output a). come faccio a estendere il programma sul tutto il sistema?
P.S.il sistema discusso è windows e non linux. grazie a tutti per l'aiuto in anticipo