AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Anwendung reagiert nicht auf mouse_event
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendung reagiert nicht auf mouse_event

Ein Thema von MechMac666 · begonnen am 10. Jun 2011 · letzter Beitrag vom 12. Jun 2011
Antwort Antwort
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#1

Anwendung reagiert nicht auf mouse_event

  Alt 10. Jun 2011, 18:19
Hallo,

kurz zur Vorgeschichte:
"Damals" gab es zu dem Spiel Command&Conquer Zero Hour einen WorldBuilder mit dessen Hilfe man eigene Karten erstellen konnte.
Da ich die Karten aber nie so ganz symmetrisch hinbekomme, habe ich mir ein Programm gebastelt, welches, ähnlich wie bei einer Werkzeugmaschine, Koordinaten abfährt. Die Maus wird quasi ferngesteuert und "malt" die Landschaft für mich.
Klicks habe ich bisher mit
mouse_event(MOUSEEVENTF_LEFTDOWN, startx, starty, 0, 0);
realisiert.

Nun ist letztens eine Modifikation für das Spiel publiziert worden, welches auch den Karteneditor um neue Objekte erweitert.
Der WorldBuilder (10MB) wird durch ein seltsames Miniprogramm (47KB) gestartet. Was da genau passiert, weiß ich nicht.
Seitdem funktioniert das mouse_event nicht mehr.

Nun würde mich interessieren, wie ich es dennoch hinbekomme. Gibt es Alternativen zu der von mir verwendeten Methode?

Gruß, Andreas



Edit:

wenn ich mit dem Programm AutoIT folgendes mache, klappt das auch nicht:
MouseMove(500, 500)
MouseClick("left")

Geändert von MechMac666 (10. Jun 2011 um 19:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Anwendung reagiert nicht auf mouse_event

  Alt 10. Jun 2011, 20:42
Man kann, als Programm auch via DirectX und Co. auf die Mauseingaben reagieren,
werte die Direkt-Input-Kanäle aus
oder geht gleich auf den Maustreiber los ...

Und davon geht nichts über diese Messages, bzw. diese Messages werden irgendwann mal davon gefeuert ... heißt also, die kannst senden was du willst, wenn das Programm schon an früheren/tieferen Stellen auf die Maus reagiert und es deine Messages nicht die Bohne interessiert.


PS: Sowas machen Spielehersteller gerne mal, damit nicht jeder "Pimp" deren Programme fernsteuern kann.


Fazit: Erstmal wäre es nicht schlecht rauszfinden, wo das Programm seine infos herbekommt und wenn es dann soweit ist, dann kann es auch mal recht schwer werden dorthin überhaupt etwas zu senden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#3

AW: Anwendung reagiert nicht auf mouse_event

  Alt 11. Jun 2011, 19:29
Hallo,

Also die Modifikation kommt nicht vom Hersteller, eine Gruppe von Fans hat die erstellt. Was die kompilierten Objekte betrifft, diese wurden nicht geändert.

Der ursprüngliche Karteneditor war "fernsteuerbar". Erst durch die Mod. klappt das nicht mehr. Vermutlich weil da das Zusatzprogramm, welches
den ursprüngliche Karteneditor "füttert", das entweder absichtlich oder zufällig blockiert. Ich denke eher letzteres, da es völlig sinnfrei ist, das zu verwehren.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Anwendung reagiert nicht auf mouse_event

  Alt 12. Jun 2011, 09:21
wenn die funktionen über Tastatur funktionieren die du mit der Maus emulieren willst.
Dann versuche es mal mit SendInput.

gruss
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#5

AW: Anwendung reagiert nicht auf mouse_event

  Alt 12. Jun 2011, 14:58
Die Funktion besteht ausschließlich aus Maustaste-drücken und Cursor bewegen. Quasi so als wenn man in MsPaint etwas Programmgesteuert malen würde.
Nur... ohne Klick, kein Strich
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Anwendung reagiert nicht auf mouse_event

  Alt 12. Jun 2011, 19:10
Die Funktion besteht ausschließlich aus Maustaste-drücken und Cursor bewegen. Quasi so als wenn man in MsPaint etwas Programmgesteuert malen würde.
Nur... ohne Klick, kein Strich
Dir ist aber schon klar für was SendInput steht?
Zitat:
Synthesizes keystrokes, mouse motions, and button clicks.
SendInput

gruss
  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 17:53 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