Symulacja naciskania ort! na klawiaturze

0

Jak za symulować klawisze już umiem ale jest pewien problem bo nie wszystkie programu lub gry reagują np. na taki kod:

keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);

keybd_event(VkKeyScan('a'), 0, 0, 0);
keybd_event(VkKeyScan('a'), 0, KEYEVENTF_KEYUP, 0);

Co można zrobić aby wszystkie programy i gry reagowały na symulacje <ort>klawiszów </ort>przez program napisany w Delphi?

0

Nie wiem czy to: http://www.delphitricks.com/source-code/windows/simulate_the_pressing_of_keyboard_keys.html - ci pomoże, bo nie miałem czasu czytać całości... ale może jednak ;]
Z tego co pamiętam keybd_event działa podobnie jak SendInput, czyli wrzuca komunikat w kolejkę, a gdzie to leci to już sprawa systemu (zazwyczaj do okna na którym jest ustawiony focus).

0

No niestety żaden kod nie działa tak jak bym chciał. :-/

0

coś mi się o oczy obiło że nie tędy droga lecz komunikatami do programu

0

No to napisz o jakie komunikaty ci chodzi i jak je napisać, podaj linka lub napisz kod takiego komunikatu.

0

Zrobiłem tak:

procedure TForm1.NacisnijPrzycisk();
var
Uchwyt : HWND;
begin

Uchwyt:=WindowFromPoint(Mouse.CursorPos); // to lub

Uchwyt:=FindWindow('notepad', nil); //to

PostMessage(Uchwyt, WM_KEYDOWN, VK_RETURN, 0);
PostMessage(Uchwyt, WM_KEYUP, VK_RETURN, 0);

end;

No i działa jeśli chodzi o notatnik i inne programy ale jeśli chodzi o grę to lipa, ani tak jak ja robiłem to wcześniej ani tak jak to zrobiłem teraz, po prostu nie działa, może gra ma jakiś własny sposób na wykrywanie wciśnięcia klawiszy?

Może jakby dało się symulować już po między klawiaturą a procesorem to może by działało ale ja za cholere nie wiem jak to zrobić.

Może ktoś z was potrafi?

0

Może gra ma antybootowskie zabezpieczenia, żeby np. postać sama nie wykonywała wkółko tej samej czynności.

0

Mi chodzi o wpisywanie kodów w miejsce gdzie się wpisuje swojego nicka lub imię kto co woli, więc postacią nie ruszam bo właściwa gra się nie uruchomiła nie zainicjowała, nie grałeś nigdy w GTA1 i 2 ?

0

Widocznie nikt tutaj nie potrafi mi pomóc.

0

Sprawdzałeś czy gra w ogóle reaguje na jakiekolwiek komunikaty wysyłane przez twój program? (nie tylko te dotyczące klawiatury)

0

gta 1 to gra pod dos, gry tego typu nie reagują na komunikaty windows. gta 2 chyba podobnie.

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