Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Przechwycić przerwanie klawiatury
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002
Przechwycić przerwanie klawiatury

Witam!

Już kiedyś o to pytałem, ale nikt nie znał odpowiedzi. Może teraz mi się bardziej poszczęści.
Potrzebuję  napisać program, który siedziałbym w trayu i przechwytywał wpisywane przez użytkownika znaki (wcześniej zdefiniowane w nim), kasował je z bufora i zamieniał na inne. Np. załóżmy, że wpiszę "b", a program ma to zamienić na "U". chciałbym, żeby to działało w całym systemie.

Myślę, że potrzebna będzie obsługa portu/przerwania klawiatury. Czy ktoś ma jakiś pomysł?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


11-08-2004 12:34
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Przechwycenie przerwania klawiatury pod VB?

Przychodzi mi trochę pomysłow do głowy, ale jeden wydaje się najłatwiejszy do zrealizowania - zbierać komunikaty z kolejki wiadomości okna, które jest an wierzchu. Jeśli będzie to odpowiednia wiadomość (WM_KEYDOWN, WM_KEYUP, WM_KEYPRESS) to należy ją z tej kolejki skasować, przeanalizować jakiego klawisza dotyczy i wrzucić ją spowrotem, ale ze zmienionym klawiszem. Nie sprawdzałem czy to działa, ale nic lepszego mi w tej chwili do głowy nie przychodzi.

Gdybyś próbował to robić w assemblerze... może dałoby się przerobić windowsowy sterownik klawiatury... ale to tylko pomysł.

===
Nie wiem, czy ktoś zaglądał ostatnio do działu 'Ogólne - inne języki programowania'. Zostawiłem tam posta i jak narazie weszły 3 osoby, w tym 0 odpowiedziało .

[Post edytowany dnia 11-08-2004 16:19 przez marcin_an]


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

11-08-2004 16:19
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Assemblera bardzo bym się chciał nauczyć, ale samemu jakoś mi nie idzie, a brak mi kogoś kogo mógłbym popytać . Co do Twojego sposobu to moglbys mi podac chcociaz nazwy potrzebnych mi funkcji API, albo poratować jakimś kawałkiem kodu? To co opisałeś wydaje się dość skomplikowane...


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


11-08-2004 21:15
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Przyjżałem się i zauważyłem, ze mój pomysł był - mówiąc delikatnie - głupi .
Przecież i tak nie mam czym zebrać niczego z kolejki okna innego procesu .

Sorry, za robienie nadzieji, ale dopiero teraz sobie skojarzyłem.
Jeśli ktoś coś znajdzie, to też byłbym wdzieczny za opublikowanie tutaj - też chciałbym wiedzieć.


Co do Assemblera:
W Sieci jest dużo kursów, list instrukcji itd.

[Post edytowany dnia 11-08-2004 22:53 przez marcin_an]


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

11-08-2004 22:47
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

No cóż... Trudno. W każdym razie dzięki za odpowiedź. Ktoś ma jeszcze jakiś pomysł?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


13-08-2004 11:13
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
anonim




Typ: Nie zarejestrowany
z góry widac ze to ma byc Virus!!!!!

za jakis czas ja,ty,wy i inni -bedziemy z nim walczyc?

13-08-2004 19:07
  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

nie wiem po czym to wywnioskowałes (lol)


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

14-08-2004 15:10
Pokaż profil m-a-x  Wyślij email do m-a-x   
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Pisanie wirusów uważam za coś poniżej poziomu krytyki... Nie-ma to być program (jeśli już padają takie oskarżenia) będący kontynuacją Anty-ogona (patrz: http://www.michmajsoftware.prv.pl). Różnica ma polegać tylko na tym, że następna wersja miała wszystko zamieniać w locie. Ktoś mi nie wierzy?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


14-08-2004 23:26
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Mmm.. nie powiesz chyba, że np. Welchia był poniżej krytyki .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

15-08-2004 05:03
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Każdy wirus jest dla mnie poniżej etyki! Mówię tu o względach etyczno-moralnych, a nie technicznych (jak to trudno było go napisać...) .


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


15-08-2004 08:50
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

AHehe.. wiem, że o nich mówisz i dlatego dałem jako przykład własnie tego robaczka - jego jedynym zadaniem było usuwanie MSBlastera, a następnie zciagnięcie łaty do WinXP .

Udało się już komuś coś wymyślić z tą kalwiaturą?

[Post edytowany dnia 15-08-2004 09:00 przez marcin_an]


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

15-08-2004 08:59
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Faktycznie. Nieźle mnie nabrałeś... Cóż. To wszystko przez to, że od 3 miesięcy nic innego nie robię poza przeprowadzką. Te wszystkie załatwiania dokumentów, noszenie rzeczy, likwidacja starego mieszkania mogą tak zmęczyć człowieka, że nawet sobie nie wyobrażasz . Nawet nie było czasu na chwilę wyjechać. A na ptwierdzenie Ci powiem, że w którymś z ostatnich postów napisałem, że tapety są przechowywane w C:Windowssystem .

Ktoś ma jeszcze jakiś pomysł apropos tego posta?

[Post edytowany dnia 15-08-2004 09:12 przez Viper87]


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


15-08-2004 09:07
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
Fiarel
Szczecin



Typ: neutral
Postów: 57
Zarejestrowany: Dec 2002

Gdzieś widziałem funkcję API która symuluje wciśnięcie klawiszy. Tylko to też nie rozwiązuje sprawy. Bo po pierwsze trzeba przechwycić wciśnięty klawisz, co da się zrobić. Po drugie aulować w sytemie wciśnięcie tego klawisza, tak jakby go nikt nie wcisnął, i w tym właśnie jest problem. I na końcu zasymulować wciśnięcie tego który chcemy. Trochę to skomplikowane. Ja uzyskałem taki efekt że najpierw pojawiał się klawisz który wcisnełem a potem ten na który miał się zamienić. Jeśli kogoś to interesuje to mogę poszukać tej funkcji API. Może wy coś wykombinujecie.


_____________________________________________
www.skype.com RULES !!!

16-08-2004 18:07
Pokaż profil Fiarel  Wyślij email do Fiarel        4354308
Wszystkich odpowiedzi: 12 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1