![]() |
AW: Klick in Programmbereich Simulieren
Es ist ein Waren wirtschafts Programm. Es ist nicht von mir. Es hat ein Tastenfeld inwelchem man die EAN eingeben kann um nach Kommissionierten Artikeln zu suchen. Anstatt nun jede Nummer einzeln einzugeben, wollte ich eine Liste abarbeiten lassen und immer wenn ich auf weiter klicke sollte die nächste Nummer eingegeben und gesucht werden.
Zur Zeit bekomme ich nur das Handle der hauptform und jeder Button welcher sich auf der Form selbst befindet wird mir als TButton angezeigt, ich bekomme einfach kein eindeutiges Handle. Nur die ControlID ist bei jedem Button anders. |
AW: Klick in Programmbereich Simulieren
Es muss nicht zwingend im Hintergrund sein wenn es hilft. Ich habe jetzt mittels Coursor Positionierung und dem Code geschafft das sich was tut, allerdings reagieren einige Buttons trotzdem nicht auf den Klick, wenn ich aber mit der Maus dorthin Klicke dann funktioniert es. Keine Ahnung woran es liegt.
Delphi-Quellcode:
Procedure ClickNow;
var eu: array [0..1] of TInput; begin SetCursorPos(strtoint(form2.ListView1.Selected.SubItems[0]), strtoint(form2.ListView1.Selected.SubItems[1])); ZeroMemory(@eu,sizeof(eu)); eu[0].Itype := INPUT_MOUSE; eu[0].mi.dwFlags :=MOUSEEVENTF_LEFTDOWN; eu[1].Itype := INPUT_MOUSE; eu[1].mi.dwFlags :=MOUSEEVENTF_LEFTUP; SendInput(2,eu[0],sizeof(TInput)); end; |
AW: Klick in Programmbereich Simulieren
Ich habe mal vor vielen Jahren etwas ähnliches gemacht und an eine Anwendung "Tastatur-Ereignisse" geschickt. Hoch, Runter, Tabs und Buchstaben.
Funktioniert hatte das bedingt, aber konkret helfen kann ich Dir leider hier nicht. |
AW: Klick in Programmbereich Simulieren
Die Koordinaten stimmen, gibt es die Möglichkeit einen richtigen Hardware Maus Klick zu simulierten?
|
AW: Klick in Programmbereich Simulieren
oldschool methode von
![]()
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); |
AW: Klick in Programmbereich Simulieren
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 |
AW: Klick in Programmbereich Simulieren
kann das System zwischen echten Touch auf dem Bildschirm und einem mouse_event via Delphi Tool unterscheiden?
|
AW: Klick in Programmbereich Simulieren
Zitat:
|
AW: Klick in Programmbereich Simulieren
Was das Programm macht hab ich schon beschrieben falls du das meinst.
|
AW: Klick in Programmbereich Simulieren
Das ist ein guter Ansatz! Vielen Dank Frühlingsrolle
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 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 by Thomas Breitkreuz