在打开扩展桌面的时用DirectX9截取的桌面HDC上DrawIcon\DrawIconEx失效

gaowu 2012-02-07 06:41:49
使用DirectX9做桌面截图相关的应用。碰到一个蛮奇怪的问题
1、使用扩展桌面模式,调用DrawIcon\DrawIconEx 函数返回值成功,但是没有图标被画在HDC上
2、使用主桌面模式,与步骤1同样的代码,图标能被画在HDC上
3、使用两种桌面显示模式的时候,TextOut/DrawText都能够成功被画在HDC上

相关代码:
HDC dc;// dc = IDirect3DSurface9::GetDC();
CURSORINFO ci = { sizeof(ci) };
if (!GetCursorInfo(&ci))
return;

ICONINFO icon;
if (!GetIconInfo(ci.hCursor, &icon))
return;

BOOL res = DrawIcon(dc, x, y, ci.hCursor);
res = DrawIconEx(dc, x, y+30, ci.hCursor, 0, 0, 0, NULL, DI_NORMAL);
res = TextOut(dc, x, y+50, _T("<this is a Test >"),25);
CRect rect(x, y+70, x+100, y+140);
res = DrawText(dc, _T("DrawText"), 8, &rect, DT_LEFT |DT_WORDBREAK);
// Save HDC to bmp
不知道大家在使用DirectX的时候有没遇到过这种问题。不胜感激!
...全文
127 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaowu 2012-02-27
  • 打赏
  • 举报
回复
没人关注啊,只好结贴了。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧