Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mausklick simulieren (https://www.delphipraxis.net/158876-mausklick-simulieren.html)

Lapadula 6. Mär 2011 15:06

Mausklick simulieren
 
Hallo erstmal

ich habe eine Frage zu der Simulation von Mausklicks in einer Art Listbox auf einer Website.
Das ganze solte eine vcl anwendung sein. Das Formular sollte nur 1 Button haben mit "Start"

* Die Maus sollte durch den Klick auf den Button "Start", auf die richtige Position gebracht werden.
Gleichzeitig soll das Prog. beginnen durch eine endlos-Schleife die linke Maustaste zu simulieren.

* Durch eine Tastenkombi sollte das Prog. stoppen

Könnte man das auch vllt. so machen, dass das Prog. erst starten kann wenn man sich auf "dieser" Website befindet ?

Könnte mir vllt Ansätze veraten wie ich sowas angehen muss, bin nämlich ein kompletter anfänger.

roboter202 6. Mär 2011 15:19

AW: Mausklick simulieren
 
Hallo,

Delphi-Quellcode:
// Maus an Position x,y setzen:
SetCursorPos(x, y);
und

Delphi-Quellcode:
// Linke Maustaste simulieren
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

Bei dir könnte das dann so aussehen

Das mit der Taste würde aber nicht funzen da ja die Schleife ausgeführt wird am besten du setzt vorher die Anzahl der Klicks

Delphi-Quellcode:
var
klcks : integer ;

procedure TForm1.Button1Click(Sender: TObject);
var i :integer ;
begin
SetCursorPos(x, y); //Werte setzen
For i := 0 to strtoint(edit1.text) do
 begin
 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
 end;
end;
PS : Am besten du machst einen Timer der die Mausposition ausliest und in x,y Variablen speichert und über nen button ausgeschaltet wird damit kannst du betimmen wo er klicken soll.

Quelle : http://www.swissdelphicenter.ch/de/showcode.php?id=360

Lapadula 7. Mär 2011 09:08

AW: Mausklick simulieren
 
So etwas ähnliches habe ich auch schon probiert und jetzt weiss ich auch, wieso ich mit Delphi aufgehört habe:

Es kommt immer der Fehler:Could not compile used unit 'xx.pas'

egal wie simpel das programm ist ? selbst wenn ich dein quelltext 1:1 kopiere, nichts. hab jetzt das halbe internet abgesucht, finde die Lösung aber nicht

roboter202 7. Mär 2011 09:31

AW: Mausklick simulieren
 
Hallo,

Welches Delphi benutzt du ?

Wenn du Windows nicht in den uses einbindest kommt der Fehler :
Code:
[Error] Unit1.pas(28): Undeclared identifier: 'mouse_event'
Kommt der Fehler nur beim Mausklick simulieren oder in Immer auch wenn die Unit keine Procedure hat ?

Gruß Christian

-187- 7. Mär 2011 10:44

AW: Mausklick simulieren
 
Das Thema wurde in den letzte vier Wochen gefühlte 10 mal behandelt. Wie wäre es mal mit der Suchfunktion ?

Lapadula 7. Mär 2011 10:57

AW: Mausklick simulieren
 
benutze delphi 7 auf xp32 und win7-64 fehler tritt bei beiden auf. Hab auch schon danach gegoogelt aber ne richtige lösung hab ich nicht gefunden oder ich versteh das einfach nicht. Ein link zu einer lösung würde reichen

Jacques Murell 7. Mär 2011 11:05

AW: Mausklick simulieren
 
Poste einfach mal deinen gesamten Quelltext.

himitsu 7. Mär 2011 11:09

AW: Mausklick simulieren
 
Zitat:

Zitat von Lapadula (Beitrag 1086432)
Hab auch schon danach gegoogelt aber ne richtige lösung hab ich nicht gefunden

Bei Google suchendelphi Mausklick simulieren > gleich das allererste Suchergebnis sieht doch vielversprechend aus?

Dieses wurde aber auch schonmal hier genannt und diese Codes selber sollten keine derartigen Kompilierungsfehler verursachen, also liegt der Fehler wohl eher in deinem restlichen Code.

-187- 7. Mär 2011 11:12

AW: Mausklick simulieren
 
Zitat:

Zitat von Lapadula (Beitrag 1086380)
und jetzt weiss ich auch, wieso ich mit Delphi aufgehört habe:

- Warum hast du wieder angefangen ?
- Hast du vielleicht mal überlegt das der Fehler bei dir liegt ?
- Glaubst du das dir jemand helfen kann ohne das du uns deinen Code zeigst ?

Das Problem liegt 100% bei dir. Um den Mauszeiger in Position zu bringen und den Klick zu simulieren braucht man 3 Zeilen.

Jacques Murell 7. Mär 2011 11:12

AW: Mausklick simulieren
 
Zitat:

Zitat von -187- (Beitrag 1086441)
Um den Mauszeiger in Position zu bringen braucht man 3 Zeilen.

1 Zeile. :P

-187- 7. Mär 2011 11:14

AW: Mausklick simulieren
 
?? Wer lesen kann.. 8-)

Lapadula 7. Mär 2011 11:18

AW: Mausklick simulieren
 
wie gesagt quellcode kann nicht falsch sein da der fehler bei einzeiller kommt und @himitsu ich will nicht wissen wie man die simulation proggt

Jacques Murell 7. Mär 2011 11:19

AW: Mausklick simulieren
 
Dann kann dir hier niemand helfen. Der gepostete Code ist zu 100% korrekt und der Fehler liegt eindeutig bei dir.

-187- 7. Mär 2011 11:26

AW: Mausklick simulieren
 
Poste doch einfach den gesamten Quellcode...

Zur Kontrolle: Erstell ein neues Projekt, Save & Compile....Mal gucken ob da der Fehler schon auftritt.

Lapadula 7. Mär 2011 16:02

AW: Mausklick simulieren
 
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  klcks: integer;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
var i :integer ;
begin
SetCursorPos(200,200);
For i := 0 to strtoint(edit1.text) do
 begin
 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
 end;

roboter202 7. Mär 2011 16:22

AW: Mausklick simulieren
 
Hallo,

Zitat:

Zitat von Lapadula (Beitrag 1086576)
Delphi-Quellcode:
var
  klcks: integer;

1. die Variable klcks wird nicht verwendet
2. Ich glaube das sollte Klicks heißen :wink:
3. Der Fehler ist die Variable
Delphi-Quellcode:
Form1: TForm1;
fehlt


Probier's mal

PS:
Ich hoffe doch sehr das du die Unit und die Procedure am Ende noch mit den Zeilen

Delphi-Quellcode:
end;
end.
schließt :!:


Gruß Christian

Lapadula 7. Mär 2011 17:23

AW: Mausklick simulieren
 
was genau meinst du mit
Zitat:

3. Der Fehler ist die Variable Form1: TForm1; fehlt
sry dafür das ich mich so dumm anstelle bekomme den code nicht gebacken, bräuchte nur ein Erfolgserlebnis :stupid:

roboter202 7. Mär 2011 17:50

AW: Mausklick simulieren
 
Hi,

Zitat:

Zitat von Lapadula (Beitrag 1086613)
was genau meinst du mit
Zitat:

3. Der Fehler ist die Variable Form1: TForm1; fehlt
sry dafür das ich mich so dumm anstelle bekomme den code nicht gebacken, bräuchte nur ein Erfolgserlebnis :stupid:


naja es heißt zzt.
Delphi-Quellcode:
var
  klcks: integer;

implementation

{$R *.dfm}
aber muss heißen

Delphi-Quellcode:
var
  klcks: integer;
  Form1: TForm1 ;

implementation

{$R *.dfm}
Vermutlich hast du
Delphi-Quellcode:
Form1: TForm1 ;
versehentlich gelöscht :wink:

Versuch das mal

Gruß Christian

Lapadula 7. Mär 2011 18:04

AW: Mausklick simulieren
 
Das war es ! Vielen Dank dich und natürlich an all die anderen die mir versucht haben zu helfen =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 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