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. |
AW: Mausklick simulieren
Hallo,
Delphi-Quellcode:
und
// Maus an Position x,y setzen:
SetCursorPos(x, y);
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:
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.
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; Quelle : http://www.swissdelphicenter.ch/de/showcode.php?id=360 |
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 |
AW: Mausklick simulieren
Hallo,
Welches Delphi benutzt du ? Wenn du Windows nicht in den uses einbindest kommt der Fehler :
Code:
Kommt der Fehler nur beim Mausklick simulieren oder in Immer auch wenn die Unit keine Procedure hat ?
[Error] Unit1.pas(28): Undeclared identifier: 'mouse_event'
Gruß Christian |
AW: Mausklick simulieren
Das Thema wurde in den letzte vier Wochen gefühlte 10 mal behandelt. Wie wäre es mal mit der Suchfunktion ?
|
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
|
AW: Mausklick simulieren
Poste einfach mal deinen gesamten Quelltext.
|
AW: Mausklick simulieren
Zitat:
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. |
AW: Mausklick simulieren
Zitat:
- 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. |
AW: Mausklick simulieren
Zitat:
|
AW: Mausklick simulieren
?? Wer lesen kann.. 8-)
|
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
|
AW: Mausklick simulieren
Dann kann dir hier niemand helfen. Der gepostete Code ist zu 100% korrekt und der Fehler liegt eindeutig bei dir.
|
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. |
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; |
AW: Mausklick simulieren
Hallo,
Zitat:
2. Ich glaube das sollte Klicks heißen :wink: 3. Der Fehler ist die Variable
Delphi-Quellcode:
fehlt
Form1: TForm1;
Probier's mal PS: Ich hoffe doch sehr das du die Unit und die Procedure am Ende noch mit den Zeilen
Delphi-Quellcode:
schließt :!:
end;
end. Gruß Christian |
AW: Mausklick simulieren
was genau meinst du mit
Zitat:
|
AW: Mausklick simulieren
Hi,
Zitat:
naja es heißt zzt.
Delphi-Quellcode:
aber muss heißen
var
klcks: integer; implementation {$R *.dfm}
Delphi-Quellcode:
Vermutlich hast du
var
klcks: integer; Form1: TForm1 ; implementation {$R *.dfm}
Delphi-Quellcode:
versehentlich gelöscht :wink:
Form1: TForm1 ;
Versuch das mal Gruß Christian |
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 16:21 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