Laden...

TextErsetzung aus dem Hintergrund heraus

Erstellt von Muffin vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.960 Views
M
Muffin Themenstarter:in
25 Beiträge seit 2007
vor 15 Jahren
TextErsetzung aus dem Hintergrund heraus

Moinsen,
ich habe ein kleines Problem wo ich nicht wirklich weiß, ob C# oder eine andere Programmiersprache mir weiterhelfen kann. Ich will mir einen Adapter programmieren, der im Hintergrund die Tastaturabfragen auswertet und bei Gelegenheit, wenn er ein Pattern Matchen kann, dieses automatisch durch einen Namen ersetzt ( der Name soll aus der Datenbank kommen, was nicht groß das Problem ist).

Mein Problem ist nun das, dass meine Anwenung dann ja nicht die ganze Zeit aktiviert wäre.

Wenn ich nun Beispielsweise in Word das Pattern [9] o.Ä. eintippen würde, dann soll mein Programm das Pattern meinetwegen durch ein Menünamen "Schnitzel mit Pommes" ersetzen.

Ist so ein Programm überhaupt möglich, das aus dem Tray heraus, Patterns matched und gegebenenfalls durch einen Datenbankeintrag ersetzt?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Muffin,

sollte gehen. Siehe global hooks.

herbivore

M
Muffin Themenstarter:in
25 Beiträge seit 2007
vor 15 Jahren

Also das mit den Globalen Hooks habe ich jetzt ausprobiert, die Frage ist jetzt nur wie ich die Eingaben ( die das Programm registriert ), dann zum Beispiel in FireFox durch ein sinnvolles Wort zu ersetzen.

Also man muss denn ja meinetwegen aus der Adresszeile den Text "[0]" durch www.mycsharp.de ersetzen, wie kann man denn da auf den Cursor zugreifen und dann noch den Text einfügen?

T
708 Beiträge seit 2008
vor 15 Jahren

Die simpelste, auch wenn nicht beste Möglichkeit wäre die Zwischenablage dafür zu benutzen.

Einfach deinen String mit Clipboard.SetText() festlegen und diesen per Strg+V (ebenfalls per Hooks möglich) einfügen. Du bist dann ja schon mit dem Cursor an der richtigen Stelle. Evtl. Vorher 3x Backspace um dein Pattern zu löschen.

Damit du danach nicht immer den Text in der Zwischenablage hast, würde ich vorher den Inhalt als Objekt zwischenspeichern und nach der Ausgabe wieder hinterlegen.

Gruß,
TriB

M
Muffin Themenstarter:in
25 Beiträge seit 2007
vor 15 Jahren

Vielen Dank für den Ansatz, was ich mich nur gerade frage ist, wie ich den Backspace per Hook umsetzen kann? Und wie kann man das STRG+V als Hook machen?

T
708 Beiträge seit 2008
vor 15 Jahren

Wie das funktioniert wurde z.B. hier schon mal besprochen:
Empfangenen Key an andere Applikation weiterleiten

Gruß,
TriB