AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Alle Systemweiten Eingaben abfragen

Ein Thema von Destroyer446 · begonnen am 23. Jun 2012 · letzter Beitrag vom 25. Jun 2012
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.590 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 13:28
Wobei dir hoffentlich klar ist, dass du so nicht unbedingt alle Tastendrücke erwischst und auch nicht unbedingt in der richtigen Reihenfolge.
Aber wenn das für deinen Anwendungszweck kein Problem ist, gibt es da ja kein Problem.

Hintergrund:
Wenn in dem Zeitraum zwischen zweien deiner Abfragen zwei Tasten gedrückt wurden (und ein Timer ist was das angeht ja nicht immer zuverlässig, z.B. falls der PC gerade zu tun hat), bekommst du es nicht mit (wenn es dieselbe Taste war) oder die Tasten in der Reihenfolge der Tastencodes statt gedrückter Reihenfolge (wenn es unterschiedliche waren).
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#22

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 13:34
Ich will nur eigene Aufzeichnungen von immer wiederkehrenden Abläufen machen,
und falls sie falsch sind, kann ich sie ja nochmal machen.
Ich würde aber gerne noch das Fensterhandle von dem Fenster bekommen, das gerade aktiv / im Vordergrund ist.

Wie kriege ich das hin?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#23

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 13:42
Wenn man das wörtlich übersetzt, kommt man z.B. auf MSDN-Library durchsuchenGetForegroundWindow
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
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#24

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 13:43
Da hätt ich suchen können

Aber Danke

Jetzt habe ich erstmal nichts mehr für euch ^^
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#25

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 13:46
In dem Zusammenhang gerade gefunden, aber selbst noch nie benutzt: MSDN-Library durchsuchenGetGUIThreadInfo. Das könnte auch noch interessant sein, zumindest liefert es ausführlichere Infos.
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
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#26

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 14:04
Kann man irgendwie ein eigenes OnIdle Ereignis erstellen?
Ich kann mir zwar per App: TApplication; eine neue Application erstellen,
aber wenn ich der ein OnIdle Ereignis zuweise, passiert nichts^^

Ich bräuchte aber für die Unit "GlobalPressedKey" ein eigenes OnIdle Ereignis,
damit ich den Timer weglegen kann..

€dit: Ich verwende jetzt doch einfach TTimer...
Geht einfacher

Danke!

Mfg

Geändert von Destroyer446 (25. Jun 2012 um 14:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#27

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 14:57
Es gibt eine globale Variable namens Delphi-Referenz durchsuchenApplication, deren OnIdle kannst Du einen Eventhandler zuweisen.
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
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.590 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 15:11
Wobei man besser TApplicationEvents nehmen sollte, da man mit OnIdle alle anderen Handler klaut (und ggf. selbst überschrieben wird). TApplicationEvents hingegen arbeitet auf multicast Basis, es funktionieren also auch mehrere dieser Objekte.

Ob TTimer oder OnIdle macht aber ohnehin in diesem Fall keinen großen Unterschied, nur dass OnIdle eher noch unregelmäßiger aufgerufen wird, es sei denn man lässt Done auf False (aber dann wird es ständig aufgerufen --> auch nicht gut). Deshalb macht ein Timer mehr Sinn.

Und wenn es nicht so wichtig ist, dass wirklich alles angefangen wird, ist das auch besser als ein Hook da der den Rest des Systems negativ beeinflusst, wenn auch bei korrekter Implementierung kaum spürbar.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 15:29
Der Witz an TApplicationEvents, das hängt sich selber an diese Events, wie z.B. OnIdle.
Es hängt sich aber nur einmal daran und ruft darüber von allen existierenden TApplicationEvent-Instanzen die Methoden auf.
(hätte mir gewünscht, daß Emba dieses intern verbunden hätte )

Das hat einen netten Nachteil, denn es gibt grauenhaft programmierte Komponenten (EurekaLog z.B.), welche sich auch an diese Events hängen, nicht TApplicationEvents nutzen und somit andere daran hindern sich ordentlich dort zu registrieren, also über TApplicationEvents.

Aber dennoch rate ich unbedingt zu TApplicationEvents, auch wenn man manchmal noch manuell etweas eingreufen muß, um die von Anderen verbogenen Events wieder gradezurücken.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#30

AW: Alle Systemweiten Eingaben abfragen

  Alt 25. Jun 2012, 16:24
Ich habe was Interessantes gefunden:

Zitat:
Code for the watching.dll needed for the component TWatch.
Note that system-wide watching is *not* possible without
a dll.

This is NOT Freeware: It's PostCardWare. When you use
this component or think it's useful, send me a post-card
to: Florian Bömers, Colmarer Str.11, D - 28211 Bremen, Germany

And of course, I am very interested in any application
that uses this dll (or any other application you wrote).
If so, mail me (not the program, just an URL or similar) !

(c) 1997/1998 by Florian Bömers
(using memory files: seen in c't 07/1997)

send any comments, proposals, enhancements etc. to:
delphi@bome.com
---
Im ZIP-File ist alles vorhanden.
Angehängte Dateien
Dateityp: zip watch.zip (141,5 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 00:28 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