使用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的时候有没遇到过这种问题。不胜感激!