01. marts 2001 - 11:27Der er
20 kommentarer og 1 løsning
Simulering at tastetryk
Hejsa
Jeg har brug for et lille program som kan simulere tryk på skiftevis højre og venstre piletast. Jeg vil gerne have sådan at der fx trykkes 500 gange per minut. Kan dette lade sig gøre?
Jeg skal bare have lavet en slags loop som kører i baggrunden hele tiden. Jeg skal bruge det til et internetspil, hvor det går ud på at klikke så mange gange som muligt i løbet af kort tid. Ved godt det lyder underligt, men det er altså det det skal.´
pfp >> problemet er ikke at simulere et taste tryk. Det er ikke svært men jeg kan altså ikke finde handlet til den kontrol på siden der skal have dem ... Hvis du kan være vært ved et handle til kontrollen så skal jeg lave resten ...
Nå du er vist gået hjem .. men her kommer svaret altså ....
Først skal vi skaffe os et handle til vinduet det skal have dine taste tryk.... Når så det er gjort skal det hardcodes ind i applicationen som så re-kompileres ....
Windows har en smart feature med at den vil fortælle dig handlet på det vindue du holder musen hen over .....
Altså : Sæt en timer timer der opdaterer tit fx. 10 gange i sekundet på din form. giv den en OnTimer event :
procedure TForm1.Timer1Timer(Sender: TObject); var Point : TPoint; begin GetCursorPos(Point); Caption := IntToStr( WindowFromPoint(Point)); end;
Så skal vi lige sikere os at din applikation forbliver øverst:
procedure TForm1.FormCreate(Sender: TObject); begin FormStyle := fsStayOnTop; end;
Sidst men ikke mindst skal vi have en knap man trykker på nå det hele skal begynde .. Så sådan en sætter du også på.
Giver den et onclick event :
procedure TForm1.Button1Click(Sender: TObject); var i : Integer; begin Timer1.Enabled := false; for i:= 0 to 5000 do begin SendMessage(1376722,WM_KEYDOWN,VK_RIGHT,0); SendMessage(1376722,WM_KEYDOWN,VK_LEFT,0); end; end;
BEMÆRK : 1376722 er det handle som vinduet havde på min computer det er HELTSIKKERT ikke det samme hos dig.
(Husk at lave en lille form, så den ikke står i vejen)
Øvelsen består nu i at skaffe dig et handle til vores spil... kompiler applikationen, og kør den. Luk siden op og hold musen hen over spillet. Det tal der står i titel baren skal du huske.
Luk så din applikation.
Det tal fra før skal Sendmessage så have som første argument. Applikationen skal nu rekompileres, med det nye tal.
Så er du klar !
Start spillet op, og når du ønsker det trykker du på button1 og vupti skyder du en 3-4 km !
Først skal vi skaffe os et handle til vinduet det skal have dine taste tryk.... Når så det er gjort skal det hardcodes ind i applicationen som så re-kompileres ....
Windows har en smart feature med at den vil fortælle dig handlet på det vindue du holder musen hen over .....
Altså : Sæt en timer timer der opdaterer tit fx. 10 gange i sekundet på din form. giv den en OnTimer event :
procedure TForm1.Timer1Timer(Sender: TObject); var Point : TPoint; begin GetCursorPos(Point); Caption := IntToStr( WindowFromPoint(Point)); end;
Peter >> Lav det program jeg har beskrevet. Kompiler det og start det op. Luk den pågældende side op, og hold musen hen over spillet. I captionen på applikationen, du lige har lavet står det er tal. Husk på det fordi det er dit handle. Det skal så bare hardcodes ind i applikationen.
Følg brugs anvisningen i øvrigt.
Kan du ikke vise MIG hvor man finder en top10 eller noger ligende ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.