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
57
58
59
60
61
62
63
|
#include <windows.h>
#include <d3d9.h>
#include <stdio.h>
int WINAPI WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
LPDIRECT3D9 pd3d=Direct3DCreate9(D3D_SDK_VERSION);
if(pd3d==NULL)
{
MessageBox(NULL,"Direct3D Instance konnte nicht erzeugt werden !","",MB_OK);
pd3d->Release();
return 1;
}
else
{
MessageBox(NULL,"Direct3d Instance wurde erfolgreich erstellt !","",MB_OK);
}
//
int iAdapter;
int iNumAdapters=pd3d->GetAdapterCount();
D3DADAPTER_IDENTIFIER9* pAdapters=new D3DADAPTER_IDENTIFIER9[iNumAdapters];
for(iAdapter=0;iAdapter<iNumAdapters;iAdapter++)
{
if(FAILED(pd3d->GetAdapterIdentifier(iAdapter,0,&pAdapters[iAdapter])))
{
MessageBox(NULL,"Adapter konnte nicht gefunden werden!","",MB_OK);
pd3d->Release();
delete[] pAdapters;
return 1;
}
char acAdapterInfo[1024];
sprintf(acAdapterInfo,"Adapter-ID:%d\n"
"Name: %s\n"
"Treiber: %s\n"
"nTreiverversion: %d",iAdapter,pAdapters[iAdapter].Description,pAdapters[iAdapter].Driver,pAdapters[iAdapter].DriverVersion);
MessageBox(NULL,acAdapterInfo,"Adapter-Info:",MB_OK);
}
//
int iNumModes=pd3d->GetAdapterModeCount(iAdapter,D3DFMT_R5G6B5);
if(iNumModes>0)
{
D3DDISPLAYMODE* pModes=new D3DDISPLAYMODE[iNumModes];
char acModes[16384]="";
for(int iMode=0;iMode<iNumModes;iMode++)
{
pd3d->EnumAdapterModes(iAdapter,D3DFMT_R5G6B5,iMode,&pModes[iMode]);
sprintf(acModes,"%d\nModus %d: %dx%d bei %d Hz (0:Standard)",acModes,iMode,pModes[iMode].Width,pModes[iMode].Height,pModes[iMode].RefreshRate);
}
MessageBox(NULL,acModes,"Display-Modes:",MB_OK);
delete[] pModes;
}
else
{
MessageBox(NULL,"Keine DisplayModes vorhanden!","",MB_OK);
pd3d->Release();
delete[] pAdapters;
return 1;
}
//
pd3d->Release();
delete[] pAdapters;
return 0;
}
|