其实这个很简单,只是创建设备的时候那个hwnd有点不一样!
可能有人就会说,用GetDesktopWindows()获得桌面的句柄不就行了?那就错了!这样会没有效果的!正确的代码如下:
HWND hWnd
=
FindWindowEx(GetDesktopWindow() ,
0
,
"
Progman
"
,
"
Program Manager
"
);
hWnd
=
FindWindowEx(hWnd ,
0
,
"
SHELLDLL_DefView
"
,
0
);
hWnd
=
FindWindowEx(hWnd ,
0
,
"
SysListView32
"
,
"
FolderView
"
);
//
初始化 D3D 设备
InitD3D(hWnd);
![None.gif](https://i-blog.csdnimg.cn/blog_migrate/830fb7c6db0c54ee3f34db9987903ca2.gif)
是不是很简单!哈哈。
显示的时候,如果想渲染在桌面的一角,则可以这样写:
//
显示在左上角,128×128宽
RECT rect;
rect.left
=
0
;
rect.right
=
128
;
rect.top
=
0
;
rect.bottom
=
128
;
//
显示
g_pd3dDevice
->
Present(
0
,
&
rect ,
0
,
0
);