代码发给 了bcb版主,他调试了,没解决。
发给了好几个人,都没有将解决。
环境:vs2008 +win7+office2007
目标:选中word的每一页,然后转换为图片,明明剪贴班中有数据, IsClipboardFormatAvaialbe已经发现:
剪贴板中有metafile数据了,就是他娘的:getclipboarddata失败。
getlasterror就那么回事情,始终解决不了。
以下是我的测试代码:
UINT nFormat=0;
if (IsClipboardFormatAvailable(CF_METAFILEPICT))
{
nFormat=CF_METAFILEPICT;
::OpenClipboard(0);
HANDLE hMeta=GetClipboardData(nFormat);
CopyMetaFile(
(HMETAFILE)hMeta,
_T("C:\\1.jpg") //destination file
);
DeleteMetaFile((HMETAFILE)hMeta);
}
else if (IsClipboardFormatAvailable(CF_DIB))
{
nFormat=CF_DIB;
::OpenClipboard(0);
}
else if (IsClipboardFormatAvailable(CF_ENHMETAFILE))
{
nFormat=CF_ENHMETAFILE;
::OpenClipboard(0);
}
HANDLE hMeta=GetClipboardData(nFormat);
这个句柄始终NULL.
剪贴板 里却是有数据的
源码下载地址:
http://hzsrc.ctfs.ftn.qq.com/ftn_handler/81de78cb367ad2d2619892fdff3c7f7595b6830692c4b9ee0b8d82d2e6a01fc56739b6267b1883548e64e9f22685fc852256523a971f1ba51b1dba4e2b60eebc/?fname=%E5%B0%86word%E4%BF%9D%E5%AD%98%E6%88%90%E5%9B%BE%E7%89%87%E7%9A%84%E4%B8%80%E4%B8%AA%E4%BE%8B%E5%AD%90.zip&k=65646633a459cacf3ae74c144532061f00070701010506521b070706531f000303574b0a5450061d020102575054510207570350632c348d9d13094107839784d0d7affedff49885f2b6dd8b95f2c9e7e54a1c5a133209&fr=00&&txf_fid=b74d1b28a2b3db0dfcf009c3da94c3f945385f79&xffz=103481