设备中的驱动程序所包含的驱动程序所必须的驱动文件,该怎么获取,向高手请教 急~~~急~~~~~ 设备管量器-> 属性-> 驱动程序-> 在(驱动程序详细信息)按钮中所显示的东西,中的信息该怎能么获取啊,急~~~急~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 接分! 注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class下面依此读取所有的项,直到找到Class键的值为Display(显卡)或MEDIA(声卡),也可通过专有的函数! 以下代码获取显卡(前提是你装了Directx9.0): D3DDISPLAYMODE primaryDesktopDisplayMode; m_pD3D->GetAdapterDisplayMode(0, &primaryDesktopDisplayMode); D3DAdapterInfo* pBestAdapterInfo = NULL; D3DDeviceInfo* pBestDeviceInfo = NULL; D3DDeviceCombo* pBestDeviceCombo = NULL; for( UINT iai = 0; iai < m_d3dEnumeration.m_pAdapterInfoList->Count(); iai++ ) { D3DAdapterInfo* pAdapterInfo = (D3DAdapterInfo*)m_d3dEnumeration.m_pAdapterInfoList->GetPtr(iai); for( UINT idi = 0; idi < pAdapterInfo->pDeviceInfoList->Count(); idi++ ) { D3DDeviceInfo* pDeviceInfo = (D3DDeviceInfo*)pAdapterInfo->pDeviceInfoList->GetPtr(idi); if (bRequireHAL && pDeviceInfo->DevType != D3DDEVTYPE_HAL) continue; if (bRequireREF && pDeviceInfo->DevType != D3DDEVTYPE_REF) continue; for( UINT idc = 0; idc < pDeviceInfo->pDeviceComboList->Count(); idc++ ) { D3DDeviceCombo* pDeviceCombo = (D3DDeviceCombo*)pDeviceInfo->pDeviceComboList->GetPtr(idc); bool bAdapterMatchesBB = (pDeviceCombo->BackBufferFormat == pDeviceCombo->AdapterFormat); if (!pDeviceCombo->IsWindowed) continue; if (pDeviceCombo->AdapterFormat != primaryDesktopDisplayMode.Format) continue; // If we haven't found a compatible DeviceCombo yet, or if this set // is better (because it's a HAL, and/or because formats match better), // save it if( pBestDeviceCombo == NULL || pBestDeviceCombo->DevType != D3DDEVTYPE_HAL && pDeviceCombo->DevType == D3DDEVTYPE_HAL || pDeviceCombo->DevType == D3DDEVTYPE_HAL && bAdapterMatchesBB ) { pBestAdapterInfo = pAdapterInfo; pBestDeviceInfo = pDeviceInfo; pBestDeviceCombo = pDeviceCombo; if( pDeviceCombo->DevType == D3DDEVTYPE_HAL && bAdapterMatchesBB ) { // This windowed device combo looks great -- take it goto EndWindowedDeviceComboSearch; } // Otherwise keep looking for a better windowed device combo } } } 以上是主要代码,不过不是全部代码(太长了),建议你装上DX9,打开VC生成向导,选DX9APPWIZARD,看一下初始过程。 好象只能获取一般的信息吧,不光是显卡和声卡,还包括其它的硬件,那该怎么实现呢,用SETUPAPI能获取吗 杯具了。。。这两天被WORLD CUP弄的只有9分了!!!哪位赞助点? WSASend发送数据的问题,求解. MFC编写的窗口 AVR反汇编工具 求教:如何取得内存条的序列号!!!! 浏览器插件开发 ocx和dll的控件有什么区别? 一个类为什么不能调用另一个类中的成员函数 怎样再切分窗口中禁止用户拖动窗口的切分条,即禁止用户上下拖动改变两个View的大小,thank you 内存溢出是什么意思?谢谢您 VC++中货币数据类型转换 静态成员函数参数传递问题 请教下一个C++菜单加载图片的问题
下面依此读取所有的项,直到找到Class键的值为Display(显卡)或MEDIA(声卡),也可通过专有的函数!
以下代码获取显卡(前提是你装了Directx9.0):
D3DDISPLAYMODE primaryDesktopDisplayMode;
m_pD3D->GetAdapterDisplayMode(0, &primaryDesktopDisplayMode);
D3DAdapterInfo* pBestAdapterInfo = NULL;
D3DDeviceInfo* pBestDeviceInfo = NULL;
D3DDeviceCombo* pBestDeviceCombo = NULL;
for( UINT iai = 0; iai < m_d3dEnumeration.m_pAdapterInfoList->Count(); iai++ )
{
D3DAdapterInfo* pAdapterInfo = (D3DAdapterInfo*)m_d3dEnumeration.m_pAdapterInfoList->GetPtr(iai);
for( UINT idi = 0; idi < pAdapterInfo->pDeviceInfoList->Count(); idi++ )
{
D3DDeviceInfo* pDeviceInfo = (D3DDeviceInfo*)pAdapterInfo->pDeviceInfoList->GetPtr(idi);
if (bRequireHAL && pDeviceInfo->DevType != D3DDEVTYPE_HAL)
continue;
if (bRequireREF && pDeviceInfo->DevType != D3DDEVTYPE_REF)
continue;
for( UINT idc = 0; idc < pDeviceInfo->pDeviceComboList->Count(); idc++ )
{
D3DDeviceCombo* pDeviceCombo = (D3DDeviceCombo*)pDeviceInfo->pDeviceComboList->GetPtr(idc);
bool bAdapterMatchesBB = (pDeviceCombo->BackBufferFormat == pDeviceCombo->AdapterFormat);
if (!pDeviceCombo->IsWindowed)
continue;
if (pDeviceCombo->AdapterFormat != primaryDesktopDisplayMode.Format)
continue;
// If we haven't found a compatible DeviceCombo yet, or if this set
// is better (because it's a HAL, and/or because formats match better),
// save it
if( pBestDeviceCombo == NULL ||
pBestDeviceCombo->DevType != D3DDEVTYPE_HAL && pDeviceCombo->DevType == D3DDEVTYPE_HAL ||
pDeviceCombo->DevType == D3DDEVTYPE_HAL && bAdapterMatchesBB )
{
pBestAdapterInfo = pAdapterInfo;
pBestDeviceInfo = pDeviceInfo;
pBestDeviceCombo = pDeviceCombo;
if( pDeviceCombo->DevType == D3DDEVTYPE_HAL && bAdapterMatchesBB )
{
// This windowed device combo looks great -- take it
goto EndWindowedDeviceComboSearch;
}
// Otherwise keep looking for a better windowed device combo
}
}
}
以上是主要代码,不过不是全部代码(太长了),建议你装上DX9,打开VC生成向导,选DX9APPWIZARD,看一下初始过程。