AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Taste abfangen und nicht weitergeben???
Thema durchsuchen
Ansicht
Themen-Optionen

Taste abfangen und nicht weitergeben???

Ein Thema von Muellermilchtrinker · begonnen am 22. Feb 2010 · letzter Beitrag vom 11. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#1

Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:21
Servus DP,

Ich möchte für ein Rennspiel ein Limitier erstellen.
Die Geschwindigkeit lese ich aus dem RAM aus.
Jetzt hab ich mir gedahct ich überprüfe die Geschwindigkeit und wenn die Geschwindigkeit, dass Limit erreicht hat, dann fange ich das Signal zum Gas geben ab.
Mein Problem ist nun, ich weiß nicht wie ich die Signale, die an das Spiel gesendet werden, überprüfe und wie ich diese unterdrücke (sprich: sie abfangen, damit sie im Spiel nicht ankommen [als wäre die Taste nicht gedrückt worden]).
Das wäre das erste.
Wenn ich das hätte, müsste ich mir noch was überlegen, was ich mache, wenn man dieses Spiel mit Lenkrad, etc. spielt (wie ich dort die Signale überwach)
Ich hoffe ihr könnt mir helfen.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:32
Und warum baust du nicht eine einfach if Abfrage in die Berechnung der Geschwindigkeit mit ein??
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:40
Ich kann den Wert nicht verändern.
Sprich wenn ich in den RAM eine andere Geschwindigkeit rein schreibe wird sie, wenn ich im Fotomodus bin im Tacho angezeigt, wenn ich aber dann weiter fahren will, wird sofort wieder die andere Geschwindigkeit angezeigt.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:44
Wieso so umständlich?

Du empfängst doch die Taste für's Gasgeben und rechnest die Geschwindigkeit hoch ... und genau da baust du auch gleich die Begrenzung mit ein.

[edit]
komisch, grad eben sah ich noch keine Antworten


ups, falsch verstanden ... danke @dominikkv

also dann so, wie von haentschman auch schon vorgeschlagen ... in globaler Tastatur-Hook
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#5

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:44
damit kann er aber das getrennt laufende Spiel immer noch nicht steuern...

Prinzipiell:
- Tastatureingaben global abfangen
- je nach Bedingung weiterreichen oder wegschmeißen

Details:
- bin ich überfragt, sorry

  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:46
Zitat von himitsu:
Wieso so umständlich?

Du empfängst doch die Taste für's Gasgeben und rechnest die Geschwindigkeit hoch ... und genau da baust duch auch gleich die Begrenzung mit ein.
Er redet von einem anderen (Renn-)Spiel, bei dem er versucht, langsamer zu fahren.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:54
IMHO läuft das auf einen Keyboardhook hinaus. Wobei ich bei DirectX-Spielen noch nicht einmal sicher bin, ob die das nicht mitbekommen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Taste abfangen und nicht weitergeben???

  Alt 22. Feb 2010, 16:59
Low-Level Hooks greifen imho vor DirectX, und zudem ist die Verwendung von DirectInput für Tastatur- und Mauseingaben von Microsoft explizit nicht empfohlen, und dem entsprechend selten anzutreffen. Dabei ist letzteres die Aussage, bei der ich mir wirklich sicher bin .
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Taste abfangen und nicht weitergeben???

  Alt 23. Feb 2010, 16:51
Danke erstmal für die Antworten.
Ob das jetzt von Microsoft nicht empfohlen ist, einen LowLevelHook zu machen, wäre mir egal.
Hat jmd. vllt ein paar Codeschnipsel um einen LowLevelHook zu erstellen??? Bräuchte das auch noch für ein anderes Programm.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: Taste abfangen und nicht weitergeben???

  Alt 23. Feb 2010, 16:56
Zitat von Muellermilchtrinker:
Danke erstmal für die Antworten.
Ob das jetzt von Microsoft nicht empfohlen ist, einen LowLevelHook zu machen, wäre mir egal.
Hat jmd. vllt ein paar Codeschnipsel um einen LowLevelHook zu erstellen??? Bräuchte das auch noch für ein anderes Programm.
Isch gläube du hast die Aussage nicht verstanden:

Der/die Spielehersteller sollen laut Microsoft NICHT DirectInput benutzen, und daher würden Spiele, die doch DirectInput benutzen eher selten zu finden sein.

Und nur dann - wenn kein DirectInput benutzt wurde - nur dann hat dein Hook eine Chance.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:43 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