1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#include<TriBase.h>
#include<stdio.h>
#include<d3d9.h>
#include<dxerr9.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine, int iShowCmd)
{
PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION);
if (!pD3D)
{
MessageBox(NULL, (LPCWSTR)L"Fehler beim Erzeugen der Direct3D Schnittstelle", (LPCWSTR)L"Fehler", MB_OK | MB_ICONEXCLAMATION);
return 1;
}
int iNumAdapters = pD3D->GetAdapterCount();
D3DADAPTER_IDENTIFIER9* pAdapter = new D3DADAPTER_IDENTIFIER9[iNumAdapters];
for (int i = 0; i < iNumAdapters - 1; i++)
{
if (FAILED(pD3D->GetAdapterIdentifier(i, 0, &pAdapter[i])))
{
MessageBox(NULL, (LPCWSTR)L"Fehler beim Abrufen der Adapter-Infos", (LPCWSTR)L"Fehler", MB_OK | MB_ICONEXCLAMATION);
pD3D->Release();
delete[] pAdapter;
return 1;
}
char acAdapterInfo[1024];
sprintf(acAdapterInfo, "Adapter-ID: %d\n""Name: %s\n""Treiber: %s\n""Treiberversion: %d", i, pAdapter[i].Description, pAdapter[i].Driver, pAdapter[i].DriverVersion);
MessageBoxA(NULL, acAdapterInfo, "Adapter gefunden", MB_OK | MB_ICONINFORMATION);
int iNumMode = pD3D->GetAdapterModeCount(i, D3DFMT_X8B8G8R8);
if (iNumMode > 0)
{
D3DDISPLAYMODE* pModes = new D3DDISPLAYMODE[i];
char acModes[16384] = "";
for (int j = 0; j < iNumMode; j++)
{
pD3D->EnumAdapterModes(i, D3DFMT_X8B8G8R8, j, &pModes[j]);
sprintf(acModes, "%s\nModus %d: %dx%d bei %d Hz (0:Standard)", acModes, j, pModes[j].Width, pModes[j].Height, pModes[j].RefreshRate);
}
MessageBoxA(NULL, acModes, "Verfügbare 32-Bit-Videomodi", MB_OK | MB_ICONINFORMATION);
delete[] pModes;
}
}
pD3D->Release();
delete[] pAdapter;
return 0;
}
|