bufor klawiatury

0

jak można wpisać kod jakiegoś klawisza do bufora klawiatury??
np. w c++ lub w asm??

0

hmm jezeli mowisz o standardowym buforze ktory jest gdzies tam w pamieci to po prostu musisz zapisac tam odpowiedni bajt :P (chyba:D)

0

ale jak??

0

Pytasz o byfor BIOSU ?

0

chodzi mi o standartowy bufor klawiatury.

0

hmm jezeli mowisz o standardowym buforze ktory jest gdzies tam w pamieci to po prostu musisz zapisac tam odpowiedni bajt (chyba:D)??

No więc wiesz już, że bufor klawiatury jest gdzieś tam w pamięci. No to teraz po prostu muszisz do niego zapisać odpowiedni bajt, ale chyba tak jest. LOL [rotfl]

Ludzie jak nie macie nic do powiedzenia to nie wypowiadajcie się bez sensu bo ja niedługo umre ze śmiechu.</quote>

0

no dzieki ja tu ambitnego posta napisałem i mnie zjechali [green]
do rzeczy buforek zaczyna sie na adresiq: 0x0040:0x001e i ma 32 bajtu dlugosci :P

0

Cieżko wpisać 'bufor klawiatury w wyszukiwarce ?'

http://4programmers.net/Forum/135105

Jak cepa napisał... Ręcznie lub przy pomocy funkcji 5 przerwania 16h :

int insertkey(char ascii,char scancode=0){
  int ret=1;
  asm{
    mov ah,0x05 // mov ah,05h // zapis obojetny
    mov ch,[ascii]
    mov cl,[scancode]
    int 0x16  // int 16h
    jnc lab
    mov [ret].0
  }
  lab:
  return ret;
}

//...

if(!insertkey('a'))printf("nie wyszło");
0

nie da sie bo występuje błąd:"Access violation at address 00401B7F in module 'Project1.exe'. Read of address FFFFFFFF." :-/

0

ty tego chyba nie prubujesz robic w programie pod winde 8-0 [sciana]

0

no ale jak to zrobić pod windowsa ??

0

Jeśli masz XP to raczej tego nie zrobisz bo ten Shit ma takie cos jak ochrona pamięci, po prostu nie dopuści cie bezpośrednio do jakiś tam określonych pamięci(np: buffor klawiatury, pamięć karty itp)

0

a pod 98 ?

0

Jeśli masz XP to raczej tego nie zrobisz bo ten Shit ma takie cos jak ochrona pamięci(...)
Więcej windowsów ma taką ochrone, niż jej nie ma (mówie o windowsach >= 32 bitowych):
Nie ma ochrony:

  • w95
  • w98
  • wMe
    Ma ochronę:
  • NT4.x
  • NT5.0 alias Windows 2000
  • NT5.1 alias Windows XP
  • NT5.3 alias Windows 2003
0

Z tego co pamiętam sterownik załadowany jako kernel-mode device /czy tam driver :)/ pod windowsami nt ma uprawnienia pozwalające na modyfikację wszystkiego. Dzieki temu kernel-mode debugger taki jak SoftICE umozliwia bezpośrednią edycję jądra systemu. Pozostaje nadal problem dobrania się do odpowiednich buforów...

0

no ale z poziomu swojego programu??
jak?

0

pomijająć znalezienie adresu bufora napisanie prostego sterownika wdm i jego dynamiczne ładowanie to banał.

0

w czym to pisać ?

0

mając ddk dla win2000 można pisać pod c++ lub asmem.

0

A może problem leży gdzie indziej? Może nie potrzebujesz wciskać znaku do bufora bo Twój problem da się rozwiązać funkcjami API? Może napisz co chcesz zrobić, a ktoś poda inne rozwiązanie.

0

Właśnie wpadłem na taki pomysł - a może zamiast wpchać na chama klawisz do bufora, możnaby zmienić stan klawiszy przy pomocy SetKeyboardState?? Przy odpowiedniej implementacji wystarcza w 99,9% wypadków.
napisz co dokładnie chcesz osiągnąć ...

0

jak tego użyć?? bo ja piszę w delphim i znalazłem to ale tam jako parametr trzeba podać tablicę " array [0..255] of byte ". Bo mi chodzi o to żeby program umiał "wcisnąć" klawisz na klawiaturze bo piszę program do zdalnego sterowania innym komputerem. :]

0

To wystarczy odpowiednoi uzywac keyb_event() lub poszukaj sobie unitu sndkey32.pas

0

dzięki wam użyłem sndkey32.pas i działa. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1