AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Klick in Programmbereich Simulieren
Thema durchsuchen
Ansicht
Themen-Optionen

Klick in Programmbereich Simulieren

Ein Thema von jacky213 · begonnen am 26. Feb 2020 · letzter Beitrag vom 1. Mär 2020
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Klick in Programmbereich Simulieren

  Alt 28. Feb 2020, 08:50
oldschool methode von www.swissdelphicenter.ch

Delphi-Quellcode:
// Set the mouse cursor to position x,y:
// Maus an Position x,y setzen:
SetCursorPos(x, y);

// Simulate the left mouse button down
// Linke Maustaste simulieren
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

// Simulate the right mouse button down
// Rechte Maustaste simulieren
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);

// Simulate a double click
// Einen Doppelklick simulieren
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
GetDoubleClickTime;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

// Simulate a double click on a panel
// Einen Doppelklick auf einen Panel simulieren
SendMessage(Panel1.Handle, WM_LBUTTONDBLCLK, 10, 10);
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#2

AW: Klick in Programmbereich Simulieren

  Alt 28. Feb 2020, 11:52
Ich habe jetzt mal eine Maus an den Rechner angeschlossen weil mich der Touch einfach mal total nervt und als ich damit am arbeiten war wurden selbst echte klicks mit der Maus teilweise nicht mehr angenommen?!?

Aber wirklich nur auf manchen Tasten des Nummernblocks auf dem Display, Touch funktionierte bis jetzt ohne jemals Probleme gemacht zu haben.

Sehr komisch
  Mit Zitat antworten Zitat
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#3

AW: Klick in Programmbereich Simulieren

  Alt 28. Feb 2020, 20:11
kann das System zwischen echten Touch auf dem Bildschirm und einem mouse_event via Delphi Tool unterscheiden?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Klick in Programmbereich Simulieren

  Alt 28. Feb 2020, 20:16
kann das System zwischen echten Touch auf dem Bildschirm und einem mouse_event via Delphi Tool unterscheiden?
Ich frage noch mal.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alt 29. Feb 2020, 03:11     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#6

AW: Klick in Programmbereich Simulieren

  Alt 29. Feb 2020, 10:51
Das ist ein guter Ansatz! Vielen Dank Frühlingsrolle
  Mit Zitat antworten Zitat
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#7

AW: Klick in Programmbereich Simulieren

  Alt 29. Feb 2020, 03:01
Was das Programm macht hab ich schon beschrieben falls du das meinst.
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#8

AW: Klick in Programmbereich Simulieren

  Alt 1. Mär 2020, 08:45
oldschool methode von www.swissdelphicenter.ch

Delphi-Quellcode:
// Set the mouse cursor to position x,y:
// Maus an Position x,y setzen:
SetCursorPos(x, y);

// Simulate the left mouse button down
// Linke Maustaste simulieren
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

// Simulate the right mouse button down
// Rechte Maustaste simulieren
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);

// Simulate a double click
// Einen Doppelklick simulieren
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
GetDoubleClickTime;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

// Simulate a double click on a panel
// Einen Doppelklick auf einen Panel simulieren
SendMessage(Panel1.Handle, WM_LBUTTONDBLCLK, 10, 10);
Von MOUSEEVENTF_LEFTDOWN und MOUSEEVENTF_LEFTUP habe ich bisher noch gar nichts gehört oder gelesen. WO sind diese Konstanten definiert? Und wie arbeiten die mouse_event() funktionen. Oder gibt es die irgendwo schon?

@Frühlingsrolle: Super! Danke auch von mir! So etwas suche ich auch gerade.

Geändert von DualCoreCpu ( 1. Mär 2020 um 09:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#9

AW: Klick in Programmbereich Simulieren

  Alt 1. Mär 2020, 10:55
Dort, wo alle WindowsAPIs zu finden sind.
https://docs.microsoft.com/en-us/win...er-mouse_event

Zuerst in der Windows.pas suchen und wenn nicht, dann kann man noch im $(BDS)-Pfad suchen oder nimmt eine Header-Konvertion von jemand anderem oder kopiert es sich selbst aus der Dokumentation.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#10

AW: Klick in Programmbereich Simulieren

  Alt 1. Mär 2020, 11:04
Die mouse_event() Funktion wurde schon lange durch SendInput() ersetzt.
https://docs.microsoft.com/de-de/win...user-sendinput
  Mit Zitat antworten Zitat
Antwort Antwort


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:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz