本文主要是介绍把D3D画面渲染到桌面!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【原创】把D3D画面渲染到桌面!不用创建任何窗口 其实这个很简单,只是创建设备的时候那个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);
是不是很简单!哈哈。
显示的时候,如果想渲染在桌面的一角,则可以这样写:
// 显示在左上角,128×128宽
RECT rect; rect.left = 0;
rect.right = 128; rect.top = 0; rect.bottom = 128;
// 显示 g_pd3dDevice->Present(0 , &rect , 0 , 0);
这篇关于把D3D画面渲染到桌面!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!