IDirectDraw7* pDirectDraw;
DWORD m_uLocalVidMemorySize, m_uTotalVidMemorySize, m_uAGPVidMemorySize;
HRESULT hr = CoCreateInstance(CLSID_DirectDraw7, NULL, CLSCTX_ALL,
IID_IDirectDraw7, (void**) &pDirectDraw);
if(!FAILED(hr))
{
hr = IDirectDraw7_Initialize(pDirectDraw, NULL);
if (!FAILED(hr))
{
DDSCAPS2 QueryCaps = { 0 };
DWORD dwTotal, dwFree;
QueryCaps.dwCaps = DDSCAPS_LOCALVIDMEM;
hr = pDirectDraw->GetAvailableVidMem(&QueryCaps, &dwTotal, &dwFree);
if (!FAILED(hr))
m_uLocalVidMemorySize = dwTotal;
QueryCaps.dwCaps = DDSCAPS_TEXTURE;
hr = pDirectDraw->GetAvailableVidMem(&QueryCaps, &dwTotal, &dwFree);
if (!FAILED(hr))
m_uTotalVidMemorySize = dwTotal;
m_uAGPVidMemorySize = m_uTotalVidMemorySize - m_uLocalVidMemorySize;
}
pDirectDraw->Release();
}
Label24->Caption=m_uLocalVidMemorySize;
Как узнать объём видеопамяти?
Привет Всем! Хочу узнать объём видео памяти с помощью API-функций windows, нашёл функцию GetAvailableVidMem(), но не никак не могу получить реальное значение (видеокарта 512 Мб), подскажите плиз, что я не так делаю:
Код:
Label24->Caption=m_uLocalVidMemorySize
Код:
Label24->Caption=IntToStr(m_uLocalVidMemorySize);
, то всёравно не получается.
Выдаёт: 7017384
Win32_VideoController и у него свойство AdapterRAM
Есть такой WMI класс
Буду признателен если бы Вы показали пример работы с каким-нибудь WMI-классом, сейчас пытаюсь реализовать пример приведённый на msdn, пока безрезультатно.
AdapterRAM=536870912
это в байтах или 512 Мб:) УРА!!!