Laden...

markierter Text automatisch ins Clipboard

Erstellt von conroe vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.187 Views
C
conroe Themenstarter:in
8 Beiträge seit 2007
vor 16 Jahren
markierter Text automatisch ins Clipboard

Hey

Also ich hatte die Idee, mit der Maus markierten Text automatisch in die Zwischenablage zu schreiben, ohne erst strg+c betätigen zu müssen. Dieser Text befindet sich in fremden Anwendungen, wie z.b. dem Firefox.

Normalerweiße geht man manuell ja so vor: man markiert den Text mit dem Cursor und zieht dann bei gedrückter Maustaste die Markierung. Dann lässt man die Maustaste los (wichtig für nacher) und drückt strg+c.

Nun habe ich herausgefunden, wie man mit global hooks feststellen kann, wann die Maustaste losgelassen wurde. Die Idee: das Loslassen der Maustaste soll ein Ereignis auslösen, welchen den markierten Text dann ins Clipboard kopiert. Ergo: das Drücken von strg+c simulieren.

Das sieht dann so aus:


public void MouseUpEvent(object sender, MouseEventArgs e)
        {
            SendKeys.Send("^(C)");
         }

Ich habe den Text also markiert, lasse die Taste los und strg+c zum kopieren wird gesendet. Naja das ist halt die Theorie, denn in Wirklichkeit verändert sich im Clipboard leider garnichts...
Das Event an sich funktioniert allerdings schon. Ich habe statt "^(C)" auch schon anderen Code reingeschrieben, welcher ausgeführt wird, z.b. F5, dann wird das Firefoxfenster aktualisiert.

Vielleicht habt ihr irgendwelche Ideen, an was es liegen könnte?

N
750 Beiträge seit 2004
vor 16 Jahren

hallo conroe,

ich sehe zwar nicht den sinn dahinter, aber wers einfach haben will -> ok! 😉

aber was machst du zB wenn du einen Ordner/Datei im Explorer per Drag&Drop verschiebst, oder ein Icon auf deinem Desktop ??

Dann wird dein code doch genauso ausgelöst, oder stört dich das nicht weiter ? (kann ja auch sein 😉 )

nils

?( wer suchet, der findet auch! :]

C
conroe Themenstarter:in
8 Beiträge seit 2007
vor 16 Jahren

Hi Nils,

das ganze sollte natürlich nicht permanent aktiviert sein, sondern nur Redaktionsarbeit erleichtern (ständig strg+c löst irgendwann nen Krampf aus 😉 ). Das ganze war aber eh nur als Spielerei gedacht, Hauptgrund war die Weiterverarbeitung des kopierten Textes (automatisches Abspeichern des Kopierten im Hintergrund).

Erstgenannte Spielerei scheiterte aber wohl an einem Focusproblem, das ich nich in den Griff bekomme und nun halt doch weiter mit strg+c arbeite (wenigstens wird die Abspeicherung ausgelöst 😉 ).

3.825 Beiträge seit 2006
vor 16 Jahren

Hallo conroe,

nimm doch

Clipboard.SetText(text1);

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3