AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?
Thema durchsuchen
Ansicht
Themen-Optionen

"Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

Ein Thema von Der schöne Günther · begonnen am 2. Aug 2013 · letzter Beitrag vom 5. Aug 2013
Antwort Antwort
Seite 1 von 2  1 2      
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

"Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 2. Aug 2013, 22:49
An sich eine wohl ziemlich triviale Angelegenheit: Der Benutzer kann über Popup-Dialoge Werte eingeben, Seitenfenster aufklappen, von der Hauptseite auf andere "Seiten" wechseln, ...

Ich möchte, dass nach bsp. 10 Sekunden Idle eine definierte Standardansicht wiederhergestellt wird. Ich definiere "10 Sekunden Idle" als "10 Sekunden lang keine Eingabe vorgenommen: Nicht irgendwo auf den Bildschirm getippt". Ich möchte nicht für jede VCL-Komponente in jedem möglichen Event einen laufenden Timeout-Wert zurücksetzen. Dann vergesse ich das mal bei einer Komponente und schon läuft der Timeout weiter obwohl der Benutzer gerade auf dieser Komponente herumpatscht.

Wie erschlage ich das am besten? Ein (systemweiter) Maushook? Kann ich mit der Auswertung der Nachrichten die an mein Fenster gehen etwas anfangen? Die Anwendung läuft voraussichtlich ausschließlich als Kiosk-Anwendung, Windows-Dialoge oder andere Anwendungen werden nie sichtbar sein.

Falls noch Ideen und Erfahrungen gibt, dass man sich das "Merken" und das reibungslose Zurückkehren in einen fest definierten "optischen Ursprungszustand" einfach machen kann und worauf man achten muss - Dann nehme ich das natürlich auch gerne dankend an
  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
 
#2

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 2. Aug 2013, 23:21
Mit einem Maus- und Tastatur-Hook
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
Benutzerbild von jaenicke
jaenicke

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

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 2. Aug 2013, 23:22
Es gibt da so eine schöne API-Funktion GetLastInputInfo:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  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
 
#4

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 2. Aug 2013, 23:25
Es gibt da so eine schöne API-Funktion GetLastInputInfo:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Die scheint aber global zu sein ... könnte aber für das beschriebene Szenario unerheblich sein
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
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 2. Aug 2013, 23:32
Danke schon einmal für die Antworten.

Was mir erst jetzt noch einfällt ist folgende (unter Umständen) greifende Einschränkungen: Die Anwendung wird zwar 99% der Zeit über einen Touchscreen bedient, eventuell liegen aber in einer Kiste Maus und Tastatur. Jetzt würde es mich nicht wundern, wenn bsp. Erschütterungen die Maus immer einen Millimeter zittern lassen und das so Timeout-Funktionen aushebelt.

Ein Maushook hätte hier im Gegensatz zu GetLastInputInfo wohl den Unterschied, dass ich hier reine Mausbewegungen ohne gedrückte Taste (Finger auf dem Glas) schon einmal aussortieren könnte...
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 3. Aug 2013, 07:46
Ich hab sowas auch an einem Touchscreengerät schon mal mit einem Maushook umgesetzt. Das hat gut funktioniert.
Probleme mit Erschütterungen hatte ich nie. Und meine Touchscreens hingen in Hallen wo auch mal ein Trecker oder ein Gabelstapler vorbeifährt.
Jens
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 3. Aug 2013, 07:51
Das war auch kein etablierte Tatsache sondern nur so eine fixe Idee. Gut zu wissen dass man damit wohl nicht rechnen muss
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 5. Aug 2013, 07:12
Wie wäre es mit TApplicationEvents + Timer?
1) OnIdle: Timer erfinden+starten
2) OnMessage wenn WM_MOUSEFIRST .. WM_MOUSELAST, WM_KEYFIRST .. WM_KEYLAST, dann Timer wieder zerstören, falls Assigned
3) OnTimer: Reset
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 5. Aug 2013, 08:25
Probleme mit Erschütterungen hatte ich nie.
Ich erlebe häufig das Phänomen, daß sich der Mauszeiger meiner optischen Maus selbständig bewegt. Nach kurzem Hochheben und Niedersetzen der Maus steht der Zeiger dann wieder still ... Ein Austausch der Maus brachte nichts und zeigte das Phänomen weiterhin ...
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

AW: "Zurück zur Standard-Ansicht nach X Sekunden Idle" - Wie setze ich das um?

  Alt 5. Aug 2013, 08:27
Sowas hab auch ab und zu. Aber nur wenn ich bei Kunden an spiegelnden Tischen/Glastischen oder weißen Tischen arbeiten muss. Einfach den Collegeblock drunterlegen und das Thema ist erledigt.
Jens
  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 15: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