Laden...

Ereignisse von anderen Programmen abfangen

Erstellt von bic-nobody vor 19 Jahren Letzter Beitrag vor 19 Jahren 1.753 Views
B
bic-nobody Themenstarter:in
6 Beiträge seit 2004
vor 19 Jahren
Ereignisse von anderen Programmen abfangen

Hallo!

wie ist es möglich, Ereignisse von anderen Programmen abzufangen/ Formulardaten von einem anderen Programm auszulesen?

Beispiel: Man klickt in einem anderen Programm (Word, FireFox,...) auf einen Button, dies merkt das C# Programm und reagiert darauf (zB Formulardaten auslesen)

Ich hoffe ihr wisst was ich meine und könnt mir evtl weiterhelfen

gruß
bic-nobody

4.506 Beiträge seit 2004
vor 19 Jahren

Hallo bic-nobody!

Das ist sehr, sehr schwierig!

Das Problem hierbei ist, dass Du im Prinzip 2 Dingen voraus sein müsstest. Da Word für sich den Mausklick als Event verarbeitet, müsstest Du Word diese Event´s "klauen".

Und dann ist da noch Windows, was ja auch mächtig die Finger im Spiel hat.

Du müsstest also den Mausklick so definieren, dass er auf alle Fälle als allererstes in Deiner Applikationsebene aufgefangen wird.

Meiner Meinung nach muss das dann auf Interrupt-Ebene (also schon fast hardwarenah) ausgeführt werden, damit auch Windows nicht zum reagieren kommt.

Danach gilt es auszuwerten worauf geklickt wurde, was zumindest für mich auch ein schwieriges Problem Darstellt, da durch die Windows-Technik die Buttons überall auf dem Bildschirm hingeschoben werden können.

Also ich bin der Meinung kein Programm der Welt ist es so wert, dass man sich solch eine Mühe macht.

Vielleicht hat hier noch ein Assemblergott Einsprüche zu meiner Meinung, aber ich sehe das als hoffnungslos an.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

49.485 Beiträge seit 2005
vor 19 Jahren

Hallo norman_timo,

Meiner Meinung nach muss das dann auf Interrupt-Ebene (also schon fast hardwarenah) ausgeführt werden, damit auch Windows nicht zum reagieren kommt.

ich denke nicht, dass das ganz so schwierig und hardware-nah wird. Unter Verwendung globaler Hooks (per Win32, gibt's nicht direkt in .NET) kriegt man das schon hin. Ganz trivial wird das allerdings wirklich nicht. Man muss schon etwas mit Koordinaten rumrechnen, denn man muss auf Maus- und Keybord-Ebene arbeiten und nicht auf Ebene der Controls wie Button und Menüs. Die Forumsuche nach Hook sollte einiges zu Tage fördern.

HTH

herbivore

B
bic-nobody Themenstarter:in
6 Beiträge seit 2004
vor 19 Jahren

Hallo,

das mit den Hooks ist ein gutes Stichwort - hab viele Beiträge dazu gefunden!
Werd die jetzt erstmal durchforsten!

danke für eure mühe!