Eu am scris mai demult :
As dori un Snippet cu ajutorul caruia sa detectez si anula functionalitatea oricaror taste sau combinatii de taste(Win,App,Ctrl-Esc,Alt-Tab,Ctrl-Alt-Del,Alt-Space,etc), ca anumite programe/jocuri (unele facute de mine) sa ruleze (in full-screen) astfel incat sa nu fie intrerupte sau oprite.
Shocker a scris mai demult :
Asta nu se face chiar atat de usor, pentru ca prima data procesele de la windows intercepteaza tastele, deci nu poti sa anulezi pur si simplu efectul lor. Doar daca faci low-level hooking [sa interceptezi tastele inaintea proceselor de windows], cu SetWindowsHookEx [la idHook pui WH_KEYBOARD, daca vrei lowlevel hooking, pune 13 in loc de WH_KEYBOARD], hook care il injectezi in winlogon.exe
E destul de complicata treaba cu hook-urile astea, daca chiar ai atat de mare nevoie de asa ceva, zi-mi si daca reusesc sa imi gasesc timp, o sa fac un "snippet"
3Nigma a scris mai demult :
Corecteza-ma daca gresesc,dar stiu ca exista o modalitate prin care o aplicatie/modul de tip hook poate sa capteze mesajele unui alt proces si sa le consume inainte ca mesajele sa intre in queul[stiva] procesului in care sunt menite,totusi...o redirectionare de mesaje pe care un proces le primeste de la tastatura,nu ar fi mai convenabil? Cred ca asta s-ar rezolva fara implementari de hookuri... ar fi doar o chestie de monitiorizare procese si de interpretare de mesaje.
Stiu ca ar fi o modalitate...dar trebuie sapata si asta... winapi e mare Lol.
Shocker a scris mai demult :
La hook-uri, dupa ce ti-ai facut damblaua cu ce ai hook-uit, trebuie sa pasezi procesului respectiv ce ai hook-uit [adica sa nu "consumi" mesajul, cum ziceai tu]. Daca il tii doar pentru tine, nu o sa mai ajunga si la ceilalti, dar si asta presupune hook Smile
"Pasarea" asta se face prin functia CallNextHookEx
Din pacate,

tot nu am reusit sa creez hook-uri ca sa pot sa iau informatii de la tastatura...

:rolleyes: sau nu mi-am dat seama cum... (nu prea am experienta in thread-uri, procese, etc...)
Ma poate ajuta cineva, facand un DLL (si postand sursa si un loc de download al acestora) pe care sa il folosesc la programe/jocuri astfel ca toate informatiile care provin de la tastatura sa fie folosite doar de programul/jocul dorit, iar Windows-ul sa nu le detecteze (sau sa nu raspunda la ele)?
Si sa pot afla si starea anumitor taste precum Right Shift, Left Shift, Right Ctrl, Left Ctrl, Right Alt, Left Alt(daca sunt apasate), Num/Caps/Scroll Locks(daca sunt activate si/sau apasate) si Insert (sa stiu daca este activat - din cate stiu insertul functioneaza ca un fel de Caps Lock mai putin partea cu apasarea), nu numai in momentul apasarii unor taste ci in general.
Exemplu : cand apas tasta Windows, jocul sa lanseze un anumit meniu, si apasand Ctrl-Alt-Del, sa nu porneasca task manger ci alt meniu al jocului, daca apas Alt-Tab sa nu ma duca la alta aplicatie, ci sa imi schimbe modul de afisare a elementelor de pe harta, data tin apasat pe Caps Lock(nu conteaza daca este activat sau nu) sa imi arate deasupra fiecarui NPC numele acestuia,etc . (Astea sunt exemple care mi-au venit in minte.)
P.S. Ceva asemanator cu
http://files.filefront.com/KeyCodesEXE/;8088621;;/fileinfo.html. (Program facut de mine in C++ cu putin ASM. Am folosit ASM ca sa pot primi date prin INT 0X16. Acelasi lucru se poate face prin functia bioskey din "bios.h". Aceste metode nu merg pe Windows.)
Programul (de DOS) afiseaza toate datele legate de tasta apasata si starea altor taste (Left Shift, etc - am scris mai sus)