Clipboardinhalt unabhängig vom Typ speichern und zurück

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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

Code: Alles auswählen

GetClipboardImage und
GetClipboardText
Außerdem habe ich noch

Code: Alles auswählen

GetClipboardData_
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!
PB 5.72
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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_() 
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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
PB 5.72
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag von ts-soft »

Du machst nen Denkfehler :mrgreen:
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
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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.
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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...
PB 5.72
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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 :oops:

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.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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
a²+b²=mc²
Benutzeravatar
Hyper
Beiträge: 194
Registriert: 19.04.2005 19:14

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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.
PB 5.72
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Clipboardinhalt unabhängig vom Typ speichern und zurück

Beitrag 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.
Antworten