Witam, jestem tu nowy.
W Delphi nie jestem orłem, ale znam go najlepiej ze wszystkich znanych mi języków.
Napisałem program, który ma mi posłużyć do kontrolowania gry Diablo.
Program ma podnosić przedmioty i atakować, pod warunkiem że takowa opcja
zostanie załączona.
A więc mam na formie labelki sygnalizujące aktualny stan uruchomionych funkcji,
timery i buttony aktywujące/deaktywujące.
Kod przedstawia się tak:
Kod://timer1 ma funkcję podnoszenia przedmiotow/wysyla klawisz keyb_ementem procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:=true; end; procedure TForm1.Button2Click(Sender: TObject); begin Timer1.Enabled:=false; end; procedure TForm1.Timer1Timer(Sender: TObject); begin keybd_event(VkKeyScan('z'), VkKeyScan('z'), 0, 0); keybd_event(VkKeyScan('z'), VkKeyScan('z'), KEYEVENTF_KEYUP, 0); end; ////////timer2 ma funkcje znalezienia handlera okna i wyslanie tylko do niego ////////nacisniecia tego samego klawisza co wyzej,chcialem wyprobowac ////////ktory sposob wysylania klawiszy mi zadziala procedure TForm1.Button3Click(Sender: TObject); begin Timer2.Enabled:=true; end; procedure TForm1.Button4Click(Sender: TObject); begin Timer2.Enabled:=false; Label2.Caption:='Stan: zatrzymany!'; end; procedure TForm1.Timer2Timer(Sender: TObject); var hdiablo: HWND; begin hdiablo := FindWindow(nil, 'diablo'); if hdiablo <> 0 then begin SendMessage(hdiablo, VKKeyScan('z'), 0, 0); Label7.Caption:='handler znaleziony pomyślnie'; end; end; //////timer3 ma funkcje wysylania nacisniecia klawisza odpowiadajacemu //////atakowi w grze procedure TForm1.Button5Click(Sender: TObject); begin timer3.Enabled:=true; end; procedure TForm1.Button6Click(Sender: TObject); begin timer3.Enabled:=false; Label3.Caption:='Stan: zatrzymany!'; end; procedure TForm1.Timer3Timer(Sender: TObject); var hdiablo: HWND; begin hdiablo := FindWindow(nil, 'diablo'); if hdiablo <> 0 then begin SendMessage(hdiablo, VK_SPACE, 0, 0); Label3.Caption:='Stan: dziala!'; Label8.Caption:='handler znaleziony pomyślnie'; end; end;
Jak uruchomię programik, i grę, i aktywuję w programie wysyłanie nacisniec klawiszy,
to jak otworze okno chatu w grze, to owszem, wszystkie klawisze są wpisywane.
Moje pytanie, co mam zle napisane, ze gra nie rozpoznaje mi tego jako zwykle
nacisniecie klawisza tylko jak wpisany znaczek?
Tzn, w kazdym textboxie gry znaki są wpisywane, ale bez aktywnego textboxa
gra nie reaguje na nacisniecia wysylane przez program.
Bardzo prosze o pomoc.


Odpowiedz z cytatem
To pewnie zależy od gry 
