Autor Beitrag
DerNetteNachbar
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 12.01.09 16:05 
Hallo an alle EEler,
nun meine Frage kennt jemand eine Funktion die der obigen entspricht und in Win98 nutzbar ist bzw. eine andere Lösung?
Stehe gerade auf dem Schlauch.

MfG

Der Nette Nachbar
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 12.01.09 16:47 
Was willst denn machen, bzw. welche Information brauchst Du von der genannten Funktion?

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 12.01.09 16:58 
Es gab bei MS eine Anleitung im MSJ (Microsoft Systems Journal) aus dem Februar 2000. Der Artikel ist leider nicht mehr verfügbar, aber der Code lässt sich noch herunterladen.
www.microsoft.com/msj/backissues00.aspx

Nach einem schnellen Überfliegen wurde das da mit Hooks gelöst, die einfach jede Aktivität feststellen.

Aber vielleicht gibt es ja eine sinnvollere Möglichkeit. Deshalb auch die Frage von user profile iconBenBE.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mo 12.01.09 18:15 
Ich zähle damit die verstrichene Zeit seit der letzten Maus bzw. Tastaturbewegung und zwar systemweit.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Mo 12.01.09 18:52 
Das geht doch mit Hooks, dafür gabs mal ein Tutorial von Assarbad glaube ich.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Di 13.01.09 14:30 
Hooks finde ich für diese simple Sache viel zu umständlich. Alles was ich brauche ist eine Funktion die im Ansatz dasselbe beinhaltet wie die obige. Ein Workarround würde es natürlich auch tun.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 13.01.09 14:38 
Das Problem ist: Windows 9x hatte eine solche Funktionalität noch nicht. Das heißt, wenn das eigene Programm nicht aktiv ist (und Maus- und Tastaturereignisse direkt erhält), dann muss man auch solche Ereignisse, die in fremden Programmen geschehen, selbst überwachen. Dann kann man diese Zeit jeweils speichern und nutzen.

Eine andere Möglichkeit wird es wohl nicht geben, denn da das im MSJ stand, gehe ich einmal davon aus, dass es wirklich keine entsprechende Funktionalität in Win 9x gab, d.h. diese Information gar nicht gespeichert wurde. (Gesehen habe ich etwas Vergleichbares dort auch nicht.)

Etwas anderes wäre es, wenn dein Programm den Eingabefokus hat, d.h. der Nutzer gerade damit arbeitet. Aber das ist ja etwas anderes.
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Di 13.01.09 16:13 
user profile iconDerNetteNachbar hat folgendes geschrieben Zum zitierten Posting springen:
Hooks finde ich für diese simple Sache viel zu umständlich. Alles was ich brauche ist eine Funktion die im Ansatz dasselbe beinhaltet wie die obige. Ein Workarround würde es natürlich auch tun.


Wenn du es nicht mit Hooks machen möchtest, dann greife auf die "billigere" Variante mit TTimer + GetAsyncKeyState zurück. (Wobei Hooks zu bevorzugen sind)
Garf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 54
Erhaltene Danke: 2


D3Prof, D7PE, TDE
BeitragVerfasst: Di 13.01.09 16:15 
Mit GetCursorPos wird seit Windows 95 bzw Windows NT 3.1 die Mausposition ermittelt. Damit kann zumindest ermittelt werden, ob die Maus geschubst wurde.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Di 13.01.09 16:15 
Ich habe es vor Jahren mal so gelöst, dass ich nur mittels Mouse.cursorpos bestimmt habe, ob der User aktiv ist. Also den Wert in einem Timer abfragen und mit einem gespeicherten alten Wert vergleichen.
War aber nicht der Hit da, wie gesagt, nur die Maus und nicht die Tastatur abgefragt wurde. Aber vielleicht kann man das mit GetAsyncKey auch noch zusammen schustern.

//EDIT: Argh, da war ich mit meiner Maus-Idee einen Hauch zu spät dran...

_________________
In the beginning was the word.
And the word was content-type: text/plain.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Mi 14.01.09 10:16 
Ja danke an euch, ich werde es mit der Maus versuchen umzusetzen. Allerdings möchte ich es relativ schlank halten, da weniger fehleranfällig.
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Do 15.01.09 09:58 
Komm gerade nicht weiter, könnt ihr mir die nötigen API Funktionen nennen die für die globale Eingaben zuständig sind?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 15.01.09 12:51 
user profile iconDerNetteNachbar hat folgendes geschrieben Zum zitierten Posting springen:
Komm gerade nicht weiter, könnt ihr mir die nötigen API Funktionen nennen die für die globale Eingaben zuständig sind?
Für das direkte Abfangen der globalen Eingaben gehen wie gesagt nur Hooks.

Dir bleibt nur die beschriebene Vorgehensweise:
user profile iconmatze hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe es vor Jahren mal so gelöst, dass ich nur mittels Mouse.cursorpos bestimmt habe, ob der User aktiv ist. Also den Wert in einem Timer abfragen und mit einem gespeicherten alten Wert vergleichen.
War aber nicht der Hit da, wie gesagt, nur die Maus und nicht die Tastatur abgefragt wurde. Aber vielleicht kann man das mit GetAsyncKey auch noch zusammen schustern.
Heißt: Wenn sich die Maus an einer anderen Stelle befindet, dann wurde sie wohl bewegt...
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Do 15.01.09 13:05 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconDerNetteNachbar hat folgendes geschrieben Zum zitierten Posting springen:
Komm gerade nicht weiter, könnt ihr mir die nötigen API Funktionen nennen die für die globale Eingaben zuständig sind?
Für das direkte Abfangen der globalen Eingaben gehen wie gesagt nur Hooks.

Dir bleibt nur die beschriebene Vorgehensweise:
user profile iconmatze hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe es vor Jahren mal so gelöst, dass ich nur mittels Mouse.cursorpos bestimmt habe, ob der User aktiv ist. Also den Wert in einem Timer abfragen und mit einem gespeicherten alten Wert vergleichen.
War aber nicht der Hit da, wie gesagt, nur die Maus und nicht die Tastatur abgefragt wurde. Aber vielleicht kann man das mit GetAsyncKey auch noch zusammen schustern.
Heißt: Wenn sich die Maus an einer anderen Stelle befindet, dann wurde sie wohl bewegt...

Auf unproduktives Geschwaffel kann ich auch gerne verzichten werter jaenicke. :twisted: :twisted: :twisted:
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Do 15.01.09 14:27 
Naja, man könnte einen Getmessage Hook probieren, dann hätte man mit einem Hook beide Eingabegeräte...
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Do 15.01.09 15:12 
@Boldar Kannst du vielleicht einen Sample Code posten damit ich ungefähr weiss was du meinst
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 15.01.09 15:15 

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Do 15.01.09 15:17 
Ohh mein Gott, sei mal ehrlich dieses Geschwaffel versteht doch kein *Schwein* :lol:
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 15.01.09 15:22 
user profile iconDerNetteNachbar hat folgendes geschrieben Zum zitierten Posting springen:
Ohh mein Gott, sei mal ehrlich dieses Geschwaffel versteht doch kein *Schwein* :lol:

Wenn Du konkret sagt, was Du an dem "Geschwafel" nicht verstehst, dann könnte man Dir auch konkret helfen.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
DerNetteNachbar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 224



BeitragVerfasst: Do 15.01.09 15:46 
Der allgemeine Aufbau eines Tastatur und Mouse Hooks