also, ich hab das ding heruntergeladen, und *puh^^ *
damit lässt sich EINIGES machen hehe
hab davon schonmal irgendwo gehört... (Bist du da Mitentwickler, Kiffi? sauber o.O

)
aber.. dann hab ich noch bisschen mehr nach mit google das pureboard durchsucht (und siehe da.. google findet, was die forensuche versteckt..)
unser purebasic-clipboard unterstützt ja kein setclipboarddata mehr etc. das geht jetzt alles per API.. Das Läuft dann praktisch anstatt von "text" oder "bild" als "html" im clipboard, womit pb (noch) nichts anfangen kann..
die Lösung steht auf
HIER:
Code: Alles auswählen
Global m_cfHTMLClipFormat.l , EOL$
EOL$ = Chr(13)+Chr(10)
#CP_UTF8=65001
Procedure.l RegisterCF()
If m_cfHTMLClipFormat=0
m_cfHTMLClipFormat=RegisterClipboardFormat_("HTML Format")
EndIf
ProcedureReturn m_cfHTMLClipFormat
EndProcedure
Procedure PutHTMLClipboard(sHtmlFragment.s)
If RegisterCF()=0
ProcedureReturn
EndIf
*out = AllocateMemory(Len(sHtmlFragment)*5+2)
l = MultiByteToWideChar_(#CP_ACP,0,@sHtmlFragment,-1,0,0)
l = MultiByteToWideChar_(#CP_ACP,0,@sHtmlFragment,-1,*out,l)
l = WideCharToMultiByte_(#CP_UTF8,0,*out,-1,0,0,0,0)
out2.s = Space(l)
l = WideCharToMultiByte_(#CP_UTF8,0,*out,-1,@out2,l,0,0)
sHtmlFragment.s=out2
m_sDescription.s = "Version:1.0"+EOL$+"StartHTML:aaaaaaaaaa"+EOL$+"EndHTML:bbbbbbbbbb"+EOL$+"StartFragment:cccccccccc"+EOL$+"EndFragment:dddddddddd"+EOL$
sContextStart.s="<HTML><BODY>"+"<!--StartFragment -->"
sContextEnd.s="<!--EndFragment -->"+"</BODY></HTML>"
sData.s = m_sDescription.s + sContextStart + sHtmlFragment + sContextEnd
sData.s = ReplaceString(sData, "aaaaaaaaaa", RSet(StrU(Len(m_sDescription),#PB_Long), 10, "0"))
sData.s = ReplaceString(sData, "bbbbbbbbbb", RSet(StrU(Len(sData),#PB_Long), 10, "0"))
sData.s = ReplaceString(sData, "cccccccccc", RSet(StrU(Len(m_sDescription+sContextStart),#PB_Long), 10, "0"))
sData.s = ReplaceString(sData, "dddddddddd",RSet(StrU(Len(m_sDescription+sContextStart+sHtmlFragment),#PB_Long), 10, "0"))
Debug sData
OpenClipboard_(0)
*hMemHandle = GlobalAlloc_(0, Len(sData) + 10)
If *hMemHandle
; Debug *hMemHandle
*lpData = GlobalLock_(*hMemHandle)
If *lpData<>0
; Debug *lpData
PokeS(*lpData, sData, Len(sData))
GlobalUnlock_(*hMemHandle)
EmptyClipboard_()
SetClipboardData_(m_cfHTMLClipFormat, *hMemHandle)
EndIf
EndIf
FreeMemory(*out)
CloseClipboard_()
EndProcedure
Procedure.s GetHTMLClipboard()
If RegisterCF()=0
ProcedureReturn ""
EndIf
OpenClipboard_(0)
hData=GetClipboardData_(m_cfHTMLClipFormat)
If hData
*pData=GlobalLock_(hData)
If PeekB(hData)
dwSize=MultiByteToWideChar_(65001,0,*pData,-1,0,0)
Buf.s=Space(dwSize*2)
MultiByteToWideChar_(65001,0,*pData,-1,@Buf,dwSize)
dwSize=WideCharToMultiByte_(0,0,@Buf,-1,0,0,0,0)
Buf2.s=Space(dwSize)
WideCharToMultiByte_(0,0,@Buf,-1,@Buf2,dwSize,0,0)
Debug Buf2
Ret1=FindString(Buf2,"<!--StartFragment",0)
Ret1=FindString(Buf2,">",Ret1)+1
If PeekB(@Buf2+Ret1-1)=$0D
Ret1=Ret1+2
EndIf
Ret2=FindString(Buf2,"<!--EndFragment",Ret1)
GetHTMLClipboardS.s=Mid(Buf2,Ret1,Ret2-Ret1)
EndIf
GlobalUnlock_(hData)
Else
GetHTMLClipboardS.s=""
EndIf
CloseClipboard_()
ProcedureReturn GetHTMLClipboardS.s
EndProcedure
A$=GetHTMLClipboard()
;Debug A$
Delay(1000)
PutHTMLClipboard(A$)
Delay(2000)
End
ist aber noch nicht gesagt, dass das alles bei mir hinhaut..
werd mir aber auch diese com-sache genauer anschaun hehe:) ^^ network,excel,word,flash,activeX, Sendkeys (wobei letzeres gerade mein pb geschlossen hat...... so ein sackteil^^

)
danke für den Tipp, kiffi
gn8
-max
[Edit]
so, mal eben in word ein paar text-und bild dateien nebeneinandergesetzt und kopiert (3und 3)
das ganze dann per pb in text umgewandelt und (dank stargate und AND21's hilfe) wieder als html-kopiert..
das sieht dann als 1-zeilen-befehl so aus: (zum bildersehen müssen die pfade ganz am ende des codes ausgetauscht werden..)
Code: Alles auswählen
PutHTMLClipboard("<p class=MsoNormal>3<span style='mso-fareast-language:DE;mso-no-proof:yes'><!--[if gte vml 1]><v:shapetype" + Chr(10) + " id=" + Chr(34) + "_x0000_t75" + Chr(34) + " coordsize=" + Chr(34) + "21600,21600" + Chr(34) + " o:spt=" + Chr(34) + "75" + Chr(34) + " o:preferrelative=" + Chr(34) + "t" + Chr(34) + Chr(10) + " Path=" + Chr(34) + "m@4@5l@4@11@9@11@9@5xe" + Chr(34) + " filled=" + Chr(34) + "f" + Chr(34) + " stroked=" + Chr(34) + "f" + Chr(34) + ">" + Chr(10) + " <v:stroke joinstyle=" + Chr(34) + "miter" + Chr(34) + "/>" + Chr(10) + " <v:formulas>" + Chr(10) + " <v:f eqn=" + Chr(34) + "if lineDrawn pixelLineWidth 0" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "sum @0 1 0" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "sum 0 0 @1" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "prod @2 1 2" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "prod @3 21600 pixelWidth" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "prod @3 21600 pixelHeight" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "sum @0 0 1" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "prod @6 1 2" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "prod @7 21600 pixelWidth" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "sum @8 21600 0" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "prod @7 21600 pixelHeight" + Chr(34) + "/>" + Chr(10) + " <v:f eqn=" + Chr(34) + "sum @10 21600 0" + Chr(34) + "/>" + Chr(10) + " </v:formulas>" + Chr(10) + " <v:Path o:extrusionok=" + Chr(34) + "f" + Chr(34) + " gradientshapeok=" + Chr(34) + "t" + Chr(34) + " o:connecttype=" + Chr(34) + "rect" + Chr(34) + "/>" + Chr(10) + " <o:lock v:ext=" + Chr(34) + "edit" + Chr(34) + " aspectratio=" + Chr(34) + "t" + Chr(34) + "/>" + Chr(10) + "</v:shapetype><v:shape id=" + Chr(34) + "_x0000_i1027" + Chr(34) + " type=" + Chr(34) + "#_x0000_t75" + Chr(34) + " style='width:20.25pt;" + Chr(10) + " height:13.5pt;visibility:visible;mso-wrap-style:square'>" + Chr(10) + " <v:imagedata src=" + Chr(34) + "file:///C:\Users\KRIEGE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" + Chr(34) + "" + Chr(10) + " o:title=" + Chr(34) + "" + Chr(34) + "/>" + Chr(10) + "</v:shape><![endif]--><![if !vml]><img width=34 height=22" + Chr(10) + "src=" + Chr(34) + "file:///C:\Users\KRIEGE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg" + Chr(34) + "" + Chr(10) + "v:shapes=" + Chr(34) + "_x0000_i1027" + Chr(34) + "><![endif]></span>+3<span style='mso-fareast-language:" + Chr(10) + "DE;mso-no-proof:yes'><!--[if gte vml 1]><v:shape id=" + Chr(34) + "_x0000_i1026" + Chr(34) + " type=" + Chr(34) + "#_x0000_t75" + Chr(34) + "" + Chr(10) + " style='width:20.25pt;height:13.5pt;visibility:visible;mso-wrap-style:square'>" + Chr(10) + " <v:imagedata src=" + Chr(34) + "file:///C:\Users\KRIEGE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" + Chr(34) + "" + Chr(10) + " o:title=" + Chr(34) + "" + Chr(34) + "/>" + Chr(10) + "</v:shape><![endif]--><![if !vml]><img width=34 height=22" + Chr(10) + "src=" + Chr(34) + "file:///C:\Users\KRIEGE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg" + Chr(34) + "" + Chr(10) + "v:shapes=" + Chr(34) + "_x0000_i1026" + Chr(34) + "><![endif]></span>=23<span style='mso-fareast-language:" + Chr(10) + "DE;mso-no-proof:yes'><!--[if gte vml 1]><v:shape id=" + Chr(34) + "Bild_x0020_85" + Chr(34) + " o:spid=" + Chr(34) + "_x0000_i1025" + Chr(34) + "" + Chr(10) + " type=" + Chr(34) + "#_x0000_t75" + Chr(34) + " style='width:20.25pt;height:13.5pt;visibility:visible;" + Chr(10) + " mso-wrap-style:square'>" + Chr(10) + " <v:imagedata src=" + Chr(34) + "file:///C:\Users\KRIEGE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" + Chr(34) + "" + Chr(10) + " o:title=" + Chr(34) + "" + Chr(34) + "/>" + Chr(10) + "</v:shape><![endif]--><![if !vml]><img width=34 height=22" + Chr(10) + "src=" + Chr(34) + "file:///C:\Users\KRIEGE~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg" + Chr(34) + "" + Chr(10) + "v:shapes=" + Chr(34) + "Bild_x0020_85" + Chr(34) + "><![endif]></span></p>" )
.. und das für 3 zeichen und 3 bilder... respekt..(ok, aber man sieht ja was sonst alles noch drin ist..)
und es geht
mann bin ich stolz.. auf mich, auf pb und auf euch, danke für die Help
lg
max