一、API声明:
SUBROUTINE CopyMemory(ref METAHEADER Destination , ref blob Source, long Length) LIBRARY "kernel32" Alias for "RtlMoveMemory"
SUBROUTINE CopyMemory2(ref blob Destination , ref blob Source, long Length) LIBRARY "kernel32" Alias for "RtlMoveMemory"
Function ulong SetMetaFileBitsEx(ulong nSize,ref blob lpData) LIBRARY "gdi32.dll"
二、PB脚本:
METAHEADER lst_Hdr
integer li_FileNum
Long ll_hMF,ll_loops,ll_pos,ll_len
blob lb_structure,lb_data,lb_tmp,lb_read
li_FileNum = FileOpen("c:/1.wmf", StreamMode!)
FileSeek(li_FileNum, 22, FromBeginning!)
FileRead(li_FileNum, lb_structure)
CopyMemory(lst_Hdr,lb_structure,18)
lst_Hdr.mtSize = lst_Hdr.mtSize * 2
FileSeek(li_FileNum, 22, FromBeginning!)
IF lst_Hdr.mtSize > 32765 THEN
IF Mod(lst_Hdr.mtSize, 32765) = 0 THEN
ll_loops = lst_Hdr.mtSize/