Datei in die Zwischenablage kopieren

Anfängerfragen zum Programmieren mit PureBasic.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Datei in die Zwischenablage kopieren

Beitrag von marco2007 »

Hallo, liebe Kollegen!

Kann man irgendwie eine komplette Datei in die Zwischenablage einfügen und anschließend mit Strg+V irgendwohin kopieren?

Beispiel: Ich öffne z.B. ein Word-Dokument (mit RunProgram()) und muß anschließend nur STRG-V drücken damit die Datei "Zeichnung.dwg" in das Dokument eingefügt wird.....

Danke
Marco
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Code: Alles auswählen

SetClipboardData_(uFormat,hMem)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ich habs ohne API:

Code: Alles auswählen

Procedure FileToClipboard(Datei$)
 ReadFile(1,Datei$)
  LengthToRead = Lof()
  *MemoryBuffer = AllocateMemory(1, LengthToRead, 0) 
  ReadData(*MemoryBuffer, LengthToRead)
  SetClipboardText(PeekS(*MemoryBuffer, LengthToRead)) 
 CloseFile(1)
EndProcedure
FileToClipboard("Beispiel.txt")
nach dem Start , konnte ich es dann gleich in die PB-Datei einfügen ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

RSBasic,

kannst mir bitte etwas dabei helfen?

Ich war heute bereits auf msdn, aber nachdem ich dann in der PureBasic Geschichte gelesen habe, daß SetClipboardImage früher Setclipboarddata hieß, dachte ich, daß dies wohl der falsche Befehl ist...

und 2. -> WinApi ist natürlich extrem schwer für mich...

Danke
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@STARGÅTE
So gehts aus :allright:
Da du ja PB 3.30 hast, habe ich es in PB 4 konvertiert:

Code: Alles auswählen

Procedure FileToClipboard(Datei$) 
 ReadFile(1,Datei$) 
  LengthToRead = Lof(1) 
  *MemoryBuffer = AllocateMemory(LengthToRead) 
  ReadData(1,*MemoryBuffer, LengthToRead) 
  SetClipboardText(PeekS(*MemoryBuffer, LengthToRead)) 
 CloseFile(1) 
EndProcedure 
FileToClipboard("Beispiel.txt")
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

oh ja danke RSBasic, vergesse ich immer wieder.

@marco2006: Ich hoffe das diese Procedure hilfe genug für dich ist :allright:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Sorry,

ich habe mich vielleicht etwas zu schwach ausgedrückt.

anderes Beispiel:
Ich markiere irgendeine x-beliebige Datei (z.B.: test.zip) und drücke strg-c. Dann öffne ich Word und drücke strg-v. Nun ist die Datei im Word eingefügt.

Kann man das automatisieren?

PS: Top-Code!!! :allright:
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@marco2006
Meinst du das?
Bild
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Genau!

Ist das möglich?
Windows 11 - PB 6.03 x64
_________________________________
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@marco2006
Klar ist das möglich, du brauchst nur das Symbol/Icon einer Datei ermitteln und in die Zwischenablage kopieren.
Sry hab kein Code parat.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten