Entwickler-Ecke

Windows API - Datei ausschneiden/kopieren -> Clipboard


Aya - Mi 11.05.11 16:32
Titel: Datei ausschneiden/kopieren -> Clipboard
Hi,

ich versuche grad eine Datei in die Zwischenablage zu packen, einmal zum kopieren und einmal zum ausschneiden.

Ich blicke nur bei der WinAPI hilfe da überhaupt nichtmehr durch was da wie gemacht werden muß.
Scheinbar brauche ich irgendeine art IDataObject wo ich tausende funktionen implementieren muß etc..

Das einzige was ich schon relativ sicher weiß ist das ich ein Clipboard Format CFSTR_PREFERREDDROPEFFECT (Delete-On-Paste) registrieren und nutzen muß für das ausschneiden, damit der Explorer weiß was er mit der datei machen muß.

Hat da jemand erfahrung mit?

Das ganze allerdings nur auf Win32-API basis, nutze C++

Danke,
Aya


Aya - Do 19.05.11 16:03

Bin leider selbst noch nicht weiter gekommen mit dem Problem.. hat hier keiner sowas schonmal gemacht :?


jaenicke - Fr 20.05.11 06:07

Doch, aber nur in C# und Prism...
Da geht das Kopieren mittels Auswahl in einem Dialog schlicht so:

C#-Quelltext
1:
2:
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
                Clipboard.SetDataObject(new DataObject(DataFormats.FileDrop, openFileDialog1.FileNames));


Und Ausschneiden so:
http://stackoverflow.com/questions/2077981/cut-files-to-clipboard-in-c

Ich habe aber kurz Suche bei Google GOOGLE BEFRAGT, da kam das heraus:
http://www.swissdelphicenter.ch/torry/showcode.php?id=1038
Und da gibts noch ein paar mehr Ergebnisse.


bummi - Fr 20.05.11 10:51

https://forums.embarcadero.com/thread.jspa?threadID=25224