» »

[C++] Sledenje tipkovnici

[C++] Sledenje tipkovnici

Robocop1 ::

Pozdravljeni!
Pogosto se mi dogaja, da kakšno stvar pozabim shraniti, zato sem si omislil program, ki bi sam shranjeval moje podatke. Program sem si zamislil takole:
V ozadju bi se ves čas izvajal nek programček, ki bi bil za uporabnika neviden - torej kot nekakšen proces. V določenih časovnih intervalih bi program preverjal ali je bila pritisnjena kakšna tipka na tipkovnici - in če je res bila, bi njen znak (črko) shranil v nek niz znakov (string), ki bi ga potem lahko zapisal v tekstovno datoteko.
Torej če malo poenostavim: program bi moral "prisluškovati" portu, kjer je priključena tipkovnica.
Zdaj pa me zanima ali obstaja kakšna programska koda, ki bi to znala narediti?

bi0s ::

Takšni programi že obstajajo, imenujejo se "keyloggerji".

Robocop1 ::

Vem da obstajajo takšni programi, vendar želim vseeno program napisati sam, iz 2 razlogov:
1) želim preizkusiti svoje znanje v bolj "zapletenem" programiranju
2) želim napisati program, ki ga bom kadarkoli spreminjal po svoji volji

Torej če kdo ve, kako bi se lotil tega programčka, bom zelo hvaležen za pomoč. Aja ... kater keylogger priporočaš (pa naj ne bo glih demo verzija)?

TEDY ::

Robocop1 ::

OK. Ta koda ima nekaj napak, ki pa jih bom sam popravu. Če pa še kdo napiše kakšno idejo za moj program, ne bom imel nič proti.

Robocop1 ::

Aja ... pa še eno kratko vprašanje, glede naslednje kode:

/// uporaba knjižnice graphics.h
int main() {
char tipka = getch();
if (tipka == '1')  initwindow(100,100);
//...
return 0;
}


Kako bi napisal program (po primeru zgornje kode), ki bi okno aplikacije odprl, samo če bi uporabnik predhodno pritisnil tipko '1'. V tem primeru program javi napako. A zna kdo tole spremenit, da bo pravilno?

Zgodovina sprememb…

  • spremenil: Senitel ()

Senitel ::

Kateri prevajalnik ti sploh uporabljaš? Tale napisana koda zveni zelo zelo Turbo C-jevsko... Od kje si to kodo sploh potegnil?

TEDY ::

#include <windows.h>

HWND hwnd;
int main(int argc, char *argv[]) 
{
	hwnd = FindWindow(NULL, argv[0]); //poiščemo "handle" od naše konzole
	ShowWindow(hwnd, SW_HIDE); //skriješ okno
	while(1)
	{
	 		if(GetAsyncKeyState(0x31)) ShowWindow(hwnd, SW_SHOW); //če je 1 (0x31)pritisnjena, pokažeš okno
	Sleep(20);//
//ostale stvari
	}
	return 0;
}

Zgodovina sprememb…

  • spremenil: TEDY ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C programiranje (strani: 1 2 3 )

Oddelek: Programiranje
14127524 (17820) amacar
»

[c++] problem: pretvorba iz malih v velike crke

Oddelek: Programiranje
142106 (1753) Makina
»

OpenGL problem

Oddelek: Programiranje
212455 (2021) Gundolf
»

Win32 API in C++

Oddelek: Programiranje
131543 (1414) Monster
»

OpenGL orr v ansi c

Oddelek: Programiranje
121618 (1406) igor12

Več podobnih tem