![]() |
AW: SpeedButton
Hmm..
Besser statt mouse_event() das SendInput verwenden. Dieses kann für Tastatur und Maus verwendet werden. |
AW: SpeedButton
Hab Deinen Hinweis mit rangepappt, nun sollte jeder Zufrieden sein, Danke für diese Information! @ HolgerX
Habs gerade mit D2009 nochmal getestet, es läuft mit Windows 10. Danke @ API |
AW: SpeedButton
mouse_event() gibt es momentan noch, wurde aber durch SendInput ersetzt. Das Beispiel würde ich nicht löschen, denn es funktioniert ja so noch.
|
AW: SpeedButton
@KodeZwerg
Auch wenn ich eigentlich Schluss machen wollte, beschäftigt mich das Thema trotzdem weiter... Werde deine Lösung sicherlich auch ausprobieren, hatte an sowas ähnliches auch schon gedacht Ich wollte eigentlich per Sendmessage eine WM_LButtonDown Nachricht mal testen, bin aber noch nicht dazu gekommen Bei allen Vorschlägen hier, insbesondere deinem letzten, sollte man nicht vergessen, es muss mit einem Fremdprogramm funktionieren. Man kann natürlich in diesem Fremdprogramm per Hexeditor für entsprechenden SpeedButton Left, Top, Width, Height auslesen und bei LButtonDown angeben. Keine Ahnung ob es funktionieren würde, zumindest kommen mir die ausgelesenen Werte für Left und Top ziemlich falsch vor, wenn ich mal die Dimensionen des TabSheet zu Grunde lege Stochern im Nebel, oder probieren geht über studieren, mag trotzdem zum Erfolg führen, nur hängt mein ganzes Leben nicht an diesem Problem. :lol: Es ist schön etwas nach viel Mühen gelöst zu haben, aber wenn nicht, dann suche ich mir trotzdem nicht gleich ein anderes Hobby. |
AW: SpeedButton
Diese drei funktionen solltest du vereinen, in meinem Beispiel kannst Du ja lesen wie ich Relative/Absolute x&y Werte behandel.
SetForegroundWindow() - damit das Fremdprogramm nach vorne holen, sonst klickst Du vielleicht an falscher Stelle SetCursorPos() - damit die Maus auf Ziel-Koordinaten einstellen SendInput() - damit einen klick simulieren All das hat absolut nichts mit Fremdprogramm-Fernsteuern am Hut, das ist einfach nur ein nachahmen von Dingen die Du sonst alleine mit Maus- Bewegung und klicks machen würdest. Solange es Sinn und Zweck erfüllt, nur zu. |
AW: SpeedButton
Ok ich werde mich da demnächst mal daran machen und mich dazu äußern.
Momentan nervt leider ein Sohn... Der ist ständig irgendwie mit "Project Euler" beschäftigt. Wer da nicht kennt, kann gerne einen Link posten. Ich bin da mit Mühe und Not bis 10 gekommen, geht eigentlich weniger um programmieren, ist mehr Mathematik Der hat es in Mathe drauf und hofft bei mir auf Delphi, C und Asm Letzteres hatte ich früher mal gemacht, ist schon lange her, nichts mehr vorhanden Hobby und Arbeit lassen sich nicht unbedingt vereinbaren und nach "endlich" Rentner, fehlt auch die Lust früheres Wissen neu aufzuwärmen. Wahrscheinlich werden mich nun ein paar Leute steinigen, aber trotzdem, ich finde Delphi schwer genug, da braucht's kein Euler und auch keine anderen Programmiersprachen. |
AW: SpeedButton
So es funktioniert jetzt, war aber trotzdem nicht so ganz einfach, da man mit unterschiedlichen Koordinaten arbeiten muss.
Da soll einer darauf kommen, aber man hat gelernt und das ist die Hauptsache...
Delphi-Quellcode:
Das Tool Winspy mit integriertem Code-Generator hat mir sehr geholfen. :thumb:
SetCursorPos(nPMain.x, nPMain.y);
SendMessage(WindowFromPoint(nPMain), WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(nPBtn.x, nPBtn.y)); SendMessage(WindowFromPoint(nPMain), WM_LBUTTONUP, 0, MAKELPARAM(nPBtn.x, nPBtn.y)); Als ich die Hoffnung schon aufgegeben hatte, dass sowas überhaupt funktionieren kann, habe ich auch mit dem Free Tool "Move Mouse" herumgespielt und gesehen: Es geht! Wer da also nichts selber machen möchte und ggf. einen Automatismus haben möchte, sollte einfach mal danach googeln. Ich selbst hatte es wohl von Computerbild heruntergeladen, ist also nicht schwer zu finden. |
AW: SpeedButton
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 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