Repository navigation
Expand file tree
/
Copy pathmain.cpp
More file actions
28 lines (22 loc) · 1.49 KB
/
Copy pathmain.cpp
File metadata and controls
28 lines (22 loc) · 1.49 KB
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
#include <windows.h>
#include <iostream>
#include <d3d9.h>
#include <conio.h>
#pragma comment(lib, "d3d9.lib")
int main() {
SetConsoleOutputCP(CP_UTF8);
SetConsoleCP(CP_UTF8);
IDirect3D9* d3d = Direct3DCreate9(D3D_SDK_VERSION);
if (d3d) {
D3DADAPTER_IDENTIFIER9 adapterIdentifier;
if (SUCCEEDED(d3d->GetAdapterIdentifier(D3DADAPTER_DEFAULT, 0, &adapterIdentifier))) {
ULONGLONG version = ((ULONGLONG)adapterIdentifier.DriverVersion.HighPart << 32) | adapterIdentifier.DriverVersion.LowPart;
std::wcout << L"GPU: " << adapterIdentifier.Description << L"\nDriver: " << adapterIdentifier.Driver << L"\nDevice Name: " << adapterIdentifier.DeviceName << L"\nVendor ID: " << std::hex << adapterIdentifier.VendorId << L"\nDevice ID: " << std::hex << adapterIdentifier.DeviceId << L"\nSubSystem ID: " << std::hex << adapterIdentifier.SubSysId << L"\nRevision: " << std::dec << adapterIdentifier.Revision << L"\nWHQL Level: " << adapterIdentifier.WHQLLevel << L"\nDriver Version: " << version << L"\nGUID: {" << std::hex << adapterIdentifier.DeviceIdentifier.Data1 << L"-" << adapterIdentifier.DeviceIdentifier.Data2 << L"-" << adapterIdentifier.DeviceIdentifier.Data3 << L"-";
for (int i = 0; i < 8; ++i) std::wcout << std::hex << (int)adapterIdentifier.DeviceIdentifier.Data4[i];
std::wcout << L"}" << std::endl;
getch();
}
d3d->Release();
} else MessageBoxW(NULL, L"Support for \"DirectX\" was not identified.", L"Error GPU detect", MB_OK | MB_ICONERROR);
return 0;
}