【发布时间】:2011-03-09 00:56:57
【问题描述】:
WI 有一个 Windows shell 扩展,当打印机被右键单击时,它可以将菜单项添加到打印机菜单中。该代码在 Windows 2000、XP、Vista 中运行良好,但在 Windows 7 中,对 GetData() 的调用失败并显示 DV_E_FORMATETC。我已经找到了关于这个的各种线程,但它们似乎都与 VB/asp 相关。 FORMATETC 和 STGMEDIUM 结构初始化如下
STGMEDIUM medium = {TYMED_HGLOBAL, {0}, 0};
FORMATETC fmte = {(unsigned short)RegisterClipboardFormat(CFSTR_PRINTERGROUP),
NULL,
DVASPECT_CONTENT,
-1,
TYMED_HGLOBAL};
<snip>
hrc = pDataObj->GetData(&fmte, &medium);
if (FAILED(hrc))
{
hrc is DV_E_FORMATETC
【问题讨论】:
标签: c++ com winapi windows-7 ole