我用D3D创建一个D3D对象,成功后,在创建一个D3D的设备对象,该设备对象的窗口句柄我指向了QQ飞车的窗口。可返回的窗口设备对象总是为0,也就是失败了,这是怎么回事啊?代码如下: m_HD3D = Direct3DCreate9(D3D_SDK_VERSION);
HWND pHwnd;
pHwnd = (HWND)FindWindow(_T("GAMEAPP"),NULL); //QQ飞车的窗口句柄
if(!m_HD3D)
{
AfxMessageBox(_T("创建D3D对象失败!"));
} D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE; //创建窗口模式的Direct3D程序
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; m_HD3D->CreateDevice(
D3DADAPTER_DEFAULT, //使用缺省的显卡
D3DDEVTYPE_HAL, //指定设备类型为HAL
pHwnd, //Direct3D窗口的句柄
D3DCREATE_SOFTWARE_VERTEXPROCESSING,//硬件顶点处理
&d3dpp, &m_Device); if(!m_Device)
{
AfxMessageBox(_T("创建设备出错!"));
//CDialog::OnCancel();
}
另外在请问一下,创建了QQ飞车的D3D设备对象以后是不是就能在该窗口进行相应的D3D操作了?例如在该窗口显示一行字!