Windows Programmierung allgem

Hallo,

ich suche Informationen, wie man es fertigbringen kann, in Windows (Version egal) in (fast) jedem Programm ein Wort zu markieren, und dass das per Tastendruck an eine Anwendung zu schicken.

Gutes Beispiel sind die ganzen Uebersetzungsprogramme.

Wo fange ich denn da an nachzuforschen?

Welche Entwicklungsvorraussetzungen (Sprache, Umgebung, API, etc) benoetige ich?

Kann mir da jemand auf die Spruenge helfen?

Danke unc Ciao! Bjoern

Hi!
Ich weiss zwar nicht, welche Übersetzungsprogramme Du meinst, aber ich erinnere mich, vor längerer Zeit mal Babylon laufen gehabt zu haben.
Und Babylon hat das Wort unter dem Cursor wohl so bestimmt, dass es sich von einen Ausschnitt um den Cursor einen Screenshot gemacht hat und dann eine OCR darauf losgelassen hat.
Dadurch konnte man sogar Wörter übersetzen lassen, die mit „normalen“ Mitteln gar nicht markierbar waren, z.B. Texte in Bildern.

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi!
Ich weiss zwar nicht, welche Übersetzungsprogramme Du meinst,
aber ich erinnere mich, vor längerer Zeit mal Babylon laufen
gehabt zu haben.
Und Babylon hat das Wort unter dem Cursor wohl so bestimmt,
dass es sich von einen Ausschnitt um den Cursor einen
Screenshot gemacht hat und dann eine OCR darauf losgelassen
hat.
Dadurch konnte man sogar Wörter übersetzen lassen, die mit
„normalen“ Mitteln gar nicht markierbar waren, z.B. Texte in
Bildern.

Ach du meine Guete!

Wo fange ich denn da an?

Nen Screenshot wuerde ich ja noch hinbekommen, aber wie soll ich mal eben OCR aus der Tasche zaubern?

Ciao! Bjoern

Tja, ist halt die Frage, wo man seine Ziele steckt…

Du könntest Dich natürlich auch auf Text in Edit-Controls beschränken und dann mittels Windows-Nachrichten den markierten Text bestimmen (WM_GETTEXT und EM_GETSEL, u.a. im MSDN beschrieben).
Damit bekommst Du zwar nicht mehr jeden Text überall, aber die meisten Fenster, in denen man Text eingeben kann, basieren letztlich auf einem Control, das diese Nachrichten versteht bzw. korrekt beantwortet.
Dann stellt sich noch die Frage, wann und wie Du den Text haben willst. Nachdem Du ja den Text aus anderen Anwendungen haben willst, wird vermutlich Deine Applikation in dem Moment nicht den Fokus haben, Du müsstest also vermutlich eine Hook-Prozedur einrichten (such dazu am besten auch mal im MSDN nach WH_MOUSE), die dann z.B. das Fenster bestimmt, auf dem der Mauszeiger gerade ist. An dieses Fenster gehen dann die Windows-Nachrichten und das Ergebnis kannst Du an Deine Anwendung weiterreichen.
Alles in allem nicht ganz trivial (insbesondere, weil man mit Hooks auch recht viel kaputt machen kann), aber auch ohne OCR machbar…

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]