AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mausklicks und ENTER gedrückt halten
Thema durchsuchen
Ansicht
Themen-Optionen

Mausklicks und ENTER gedrückt halten

Ein Thema von FrankTheGhost · begonnen am 6. Mär 2008 · letzter Beitrag vom 6. Mär 2008
Thema geschlossen
Seite 1 von 2  1 2      
FrankTheGhost

Registriert seit: 6. Mär 2008
3 Beiträge
 
Delphi 4 Standard
 
#1

Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 01:04
Hi @ all =),

mein Kumpel spielt Sword of the New World und er hat mich gebeten ein Programm dafür zu schreiben, welches er startet und dann für ihn Linksklickt und ENTER gedrückt hält. Vorher bewegt er den Mauszeiger über den Charakter(Position des Mauszeigers ist die Zielposition des Klicks).

Sword of the New World ist minimiert und mein Programm soll irgendwo daneben auf dem Bildschirm angezeigt werden.


Folgende Punkte habe ich bereits realisiert:

- Mein Programm ist immer im Vordergrund
- x- und y-Koordinate des Mauszeigers werden in Echtzeit ausgelesen (Auslesung der Pixel)
- Anzahl der Klicks wird aus Edit1 ausgelesen und in Klicks abgespeichert
- x- und y-Koordinate werden nach Klick auf Start in x1 und y1 abgespeichert+ Mauszeiger wird dorthin gesetzt

Soooo..jetzt zu meinem Problem:

Ich will ja dass er genau die Anzahl der Linksklicks die ich eingebe auch klickt und dass er Enter währenddessen gedrückt hält..nur tut er das nicht...bitte gebt mir Tipps wie ich den letzten Teil umschreiben muss damit genau das auch funktioniert.

Dürfte für euch ja kein Problem sein, aber für mich, weil ich noch ein blutiger Anfänger bin ^^
Und bitte, gebt mir am besten Beispiele oder Quellcodeteile, da ich MS Vista habe und deshalb die Delphi-Hilfe nicht benutzen kann :-!

Hier mein Quellcode:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, QuickRpt, Qrctrls, Buttons, jpeg;
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Timer2: TTimer;
    Start: TButton;
    Vordergrund: TButton;
    prevx: TLabel;
    prevy: TLabel;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    QRRichText1: TQRRichText;
    Image1: TImage;
    procedure VordergrundClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure StartClick(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  MausPos: TPoint;
  x: integer;
  y: integer;
  i: integer;
  Klicks: integer;
implementation

{$R *.DFM}


procedure TForm1.VordergrundClick(Sender: TObject);
begin
SetWindowPos(Handle,HWND_TOPMOST,Left,Top,Width,Height,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
qrrichtext1.color:= clblack;
qrrichtext1.font.color:= clwhite;
qrrichtext1.frame.color:= clwhite;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
GetCursorPos(MausPos);
x:= MausPos.x;
y:= MausPos.y;
end;


procedure TForm1.StartClick(Sender: TObject);
var x1: integer;
    y1: integer;
begin//Anfang Prozedur Start

if edit1.text= 'then showmessage('DAVID!!! Ich hab kp was du von mir willst... xD') else
begin//Anfang if-then-else Schleife
x1:=x;
y1:=y;
SetCursorPos(x1,y1);
Klicks:= strtoint(edit1.text);
i:= 0;
    repeat
    keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN,0), 0, 0);
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN,0), KEYEVENTF_KEYUP, 0);
    i:=i+1;
    until i=Klicks;
end//Ende if-then-esle Schleife

end;//Ende Prozedur Start

end.
 
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 03:57
Zitat von FrankTheGhost:

Sword of the New World ist minimiert und mein Programm soll irgendwo daneben auf dem Bildschirm angezeigt werden.
Hallo, verstehe ich es richtig, dass "Sword of the New World" während dem Senden von
keybd_event & Mouse_Event minimiert ist? Das wird so nicht funktionieren.
Thomas
 
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 05:04
Hat dein Freund sämtliche Gliedmaßen verloren? Warum kann er nicht selber klicken und Enter drücken?
Dani H.
At Least I Can Say I Tried
 
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#4

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 08:38
Kleiner Tipp. man kann die D7-Hilfe unter Vista verwenden. dazu musst du dir auf der Windows-HP einen Patch holen.

http://www.microsoft.com/downloads/d...DisplayLang=de

@ Dani: das soll wohl ein Bot werden...
Jonas
 
FrankTheGhost

Registriert seit: 6. Mär 2008
3 Beiträge
 
Delphi 4 Standard
 
#5

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 16:42
Nochma HALLO an alle!!!


@ xX0815Xx: Dankeschön für den Tipp mit dem Patch =) Werd ich gleich mal ausprobieren!!!

Und Ja es soll ein Bot werden...


@ Dani: Nöö hat er nicht.Is noch alles da wo's hingehört ^^

@ toms: Okay das wusste ich nicht, dass keybd_event & Mouse_Event nicht funktioniert während Sword of The New World minimiert ist.
Könntest du/ihr mir ein Programm schreiben, bitte? =) ...weil ich bin mit meinem Latein an Ende


In Sword of the New World gibt es einen Bug. Wenn man auf einen bestimmten Spielcharakter, der irgendwo in der Spielwelt rumsteht, klickt und dabei Enter gedrückt hält gibt dieser dann Gegenstände. Diese kann man dann logischerwiese verkaufen.

Joar und mein Kumpel will eben keinen Muskelkater mehr im Zeigefinger haben^^ deshalb soll ich ein Programm schreiben welches dauerhaft linksklickt...dass die Enter taste gedrückt wird ist dann dazu da, dass er auch mal vom Computer weggehen kann und er trotzdem noch Gegenstände bekommt...
Versteht ihr was ich meine?

Folgendermaßen wäre die Ideallösung, die ich auch ursprünglich vorhatte umzusetzen:

Man spielt Sword of the New World ganz normal, bewegt den Mauspfeil über den Spielcharakter und drückt dann einfach F2 und dadurch wird mein Programm im Hintergrund gestartet. Dieses klickt dann im 3-Klicks-pro-Sekunde-Takt dorthin wo die Maus sich gerade befindet, hält ENTER gedrückt und friert die Maus ein. Sodass man die Maus nichtmehr benutzen kann bis man ein weiteres Mal auf F2 drückt, dann nämlich wird die Maus wieder freigegeben und die Mausklicks und das ENTER festhalten hören auf.

Ich hoffe es ist nicht zu kompliziert für euch ...Ich bin, wie man sieht, kläglich gescheitert ^^


Danke schon einmal im voraus =) =) =)
 
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 17:11
Zitat von FrankTheGhost:
Und Ja es soll ein Bot werden...
[schnip]
Könntest du/ihr mir ein Programm schreiben, bitte? =) ...weil ich bin mit meinem Latein an Ende
Soo?
Du willst also bescheissen bei dem Spiel?

NEIN.
Hier wird niemand für Dich ein solches Programm schreiben.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
 
FrankTheGhost

Registriert seit: 6. Mär 2008
3 Beiträge
 
Delphi 4 Standard
 
#7

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 17:16
kommt schon...
Mein Kumpel würde ja auch dadurch nicht bescheißen...er würde lediglich einen Bug für sich effektiver als von Hand nutzen..
Er will sich halt nurnich immer die Hände wundklicken....pls help him =)
 
Hudel1965

Registriert seit: 4. Nov 2005
Ort: Köln
32 Beiträge
 
Delphi XE3 Professional
 
#8

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 17:18
Hi

das was du/ihr da vorhabt fällt in den Rubrik "Bug using" und wird normalerweise mit dem Löschen des Spielaccounts geahndet.

Da ich selber Sword of the new world spiele, finde ich eine solche Idee eine echte sauerei gebenüber mir und den anderen Spielern.

Meine Meinung zu Bots.

Gruß

Hudel
 
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 17:18
Zitat von FrankTheGhost:
kommt schon...
Mein Kumpel würde ja auch dadurch nicht bescheißen...er würde lediglich einen Bug für sich effektiver als von Hand nutzen..
Er will sich halt nurnich immer die Hände wundklicken....pls help him =)
NÖÖÖ, abgelehnt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
 
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#10

Re: Mausklicks und ENTER gedrückt halten

  Alt 6. Mär 2008, 17:20
lies dir bitte einmal Absatz 2.3.2.3 durch, auch wenn es bei dir keine Hausaufgabe ist
Sebastian

ölpölp

Linux will rule the universe!!
 
Thema geschlossen
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz