Seite 1 von 2
Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 17:57
von Hyper
Hallo Gefährten,
ich möchte im Hintergrund das Clipboard nutzen. Vorher muss ich jedoch das, was der Anwender gerade hineinkopiert hat, in einer Variable speichern und nach meiner Hintergrundaktion wieder in die Zwischenablage zurücksetzen. PB bietet ja
Außerdem habe ich noch
als API gefunden. Allerdings muss man hier immer vorher wissen, welche Art von Daten im Clipboard sind. Das weiß ich jedoch nicht: Es kann Text, ein Bild, mehrere Dateien aus dem Explorer oder EXCEL-Zellen oder .... sein.
Gibt es da etwas?
Danke vorweg!
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 18:48
von hjbremer
so wat ?
Code: Alles auswählen
OpenClipboard_(0)
uFormat = EnumClipboardFormats_(0)
Debug uformat
Select uFormat
Case #CF_OWNERDISPLAY: txt$ = "OWNERDISPLAY"
Case #CF_TEXT: txt$ = "TEXT"
Case #CF_ENHMETAFILE: txt$ = "ENHMETAFILE"
Case #CF_BITMAP: txt$ = "BITMAP"
Case #CF_UNICODETEXT: txt$ = "Unicode TEXT"
EndSelect
Debug txt$
CloseClipboard_()
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 19:07
von Hyper
Aha,
so bekommt man den Typ raus. Danke!
Es muss dann in etwa so werden:
Code: Alles auswählen
Variable = Clipboard ; _Inhalt egal was
Kopiere_etwas_ganz_anderes_ins_CB
Mache_noch_etwas_anderes_mit_dem_CB
Clipboard = Variable ; Inhalt wieder genau wie vorher
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 19:18
von ts-soft
Du machst nen Denkfehler
Die verschiedenen Clipboardformate sind gleichzeitig im Clipboard!
Du mußt also diejenigen sichern, die Du überschreibst und in denen
auch was ist, ausserdem passen die wohl auch nicht immer in eine
Variable, da es meist Speicherbereiche sind.
Gruß
Thomas
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 19:21
von TomS
ts-soft hat geschrieben:Die verschiedenen Clipboardformate sind gleichzeitig im Clipboard!
Bei mir nicht. Wenn ich nen Text in die Zwischenablage kopiere, und danach einen Grafikausschnitt aus Paint, ist der Text weg.
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 19:31
von Hyper
Beispiel:
- Ich kopiere manuell ein Bild ins CB
- dann jongliere ich im Hintergrund Texte ins CB und wieder raus
- Mein Bild ist jetzt nicht mehr im CB (Es soll aber nach der Gesamtaktion noch drin sein)
Daher brauche ich was um den Inhalt zu retten...
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 19:36
von ts-soft
TomS hat geschrieben:ts-soft hat geschrieben:Die verschiedenen Clipboardformate sind gleichzeitig im Clipboard!
Bei mir nicht. Wenn ich nen Text in die Zwischenablage kopiere, und danach einen Grafikausschnitt aus Paint, ist der Text weg.
Oh, sorry, hast Recht
Aber sein vorhaben wird so nicht für alle Formate funktionieren können. Da ist dann
schon etwas mehr aufwand erforderlich, selbst wenn er auf selbdefinierte Formate
verzichtet.
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 30.09.2009 20:28
von Kiffi
Hyper hat geschrieben:Daher brauche ich was um den Inhalt zu retten...
Mein Tipp: Hände weg vom Clipboard!
Das Clipboard ist ausschließlich für den Benutzer da und nicht
als Zwischenspeicher für irgendwelche Programme gedacht.
Grüße ... Kiffi
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 01.10.2009 09:49
von Hyper
Hallo Kiffi, danke für den Tipp.
Hatte es mir nicht so schwierig vorgestellt.
Mein Gedanke: Clipboard enthält einen gewissen Inhalt, der sich sichern und wieder zurücksetzen lässt.
Meine Annahme: Hierfür gibt es schon Funktionen.
Re: Clipboardinhalt unabhängig vom Typ speichern und zurück
Verfasst: 01.10.2009 12:35
von ts-soft
Das Clipboard enthält je nach typ Pointer zu Speicher oder Handles usw., diese werden
freigegeben, wenn Du was anderes reinpackst. Das Sichern der Pointer oder Handles
bringt also garnichts, sondern es müßte z.B. der Speicher umkopiert werden. Ist eine
Menge Aufwand und wie Kiffi bereits anmerkte, nicht zu empfehlen.