// systemanddriverinfo.h #ifndef _3DRENDERER_SYSTEMANDDRIVERINFO_H_ #define _3DRENDERER_SYSTEMANDDRIVERINFO_H_ enum ENUM_PROCESSOR_MODEL { EPM_Unknown = 0, // Intel Processor EPM_Intel_486DX = 1000, EPM_Intel_486SX, EPM_Intel_486DX2, EPM_Intel_486SL, EPM_Intel_486SX2, EPM_Intel_486DX2E, EPM_Intel_486DX4, EPM_Intel_Pentium, EPM_Intel_Pentium_MMX, EPM_Intel_Pentium_Pro, EPM_Intel_Pentium_II, EPM_Intel_Celeron, EPM_Intel_Pentium_III, EPM_Intel_Pentium_IV, // Â÷ÈÄ Ãß°¡ÇÒ °Í // EPM_Intel_Pentium_D // EPM_Intel_Celeron_D // AMD Processor EPM_AMD_DX2 = 2000, EPM_AMD_DX4, EPM_AMD_AM5X86, EPM_AMD_K5, EPM_AMD_K6, EPM_AMD_K6_2, EPM_AMD_K6_3, EPM_AMD_Athlon, EPM_AMD_Duron, EPM_AMD_Athlon_64, EPM_AMD_Athlon_64_FX, EPM_UMC = 3000, // United Microelectronics Corp. Processor EPM_Cyrix = 4000, // Cyrix Corp., VIA Inc. Processor EPM_NexGen = 5000, // NexGen Inc. (now AMD) Processor EPM_Centaur = 6000, // IDT/Centaur (now VIA) Processor EPM_Rise = 7000, // Rise Processor EPM_Transmeta = 8000, // Transmeta Processor EPM_NSC = 9000, // National Semiconductor Processor }; struct St_SystemAndDriverInfo { //{ ½Ã½ºÅÛ Á¤º¸ } // DirectX 9.0cÀÏ °æ¿ì, 9,0,"c" unsigned long m_dwDirectXVersionMajor; unsigned long m_dwDirectXVersionMinor; char m_szDirectXVersionLetter[2]; // RAM 1GBÀÏ °æ¿ì, ¾à 1024x1024x1024 unsigned __int64 m_ullPhysicalMemory; // XPÀÏ °æ¿ì, "Windows XP Professional" char m_szOSEnglish[100]; // ÀÎÅÚ CPU P4 3.0 HTÀÏ °æ¿ì, "Intel(R) Pentium(R) 4 CPU 3.00GHz (2 CPUs)" char m_szProcessorEnglish[200]; // NumberOfCPUs // CPU Á¤º¸ int m_iProcessorFamilyID; int m_iProcessorExtendedFamilyID; int m_iProcessorModelID; int m_iProcessorSteppingCode; char m_szProcessorVendorName[13]; int m_iProcessorSpeedInMHz; ENUM_PROCESSOR_MODEL m_eProcessorModel; // RAM 1GBÀÏ °æ¿ì, "1024MB RAM" char m_szPhysicalMemoryEnglish[100]; // DirectX 9.0cÀÏ °æ¿ì, "DirectX 9.0c (4.09.0000.0904)" char m_szDirectXVersionLongEnglish[100]; //{ µð½ºÇ÷¹ÀÌ Á¤º¸ } // ÁöÆ÷½º FX 5200ÀÏ °æ¿ì, "NVIDIA GeForce FX 5200", "NVIDIA", "GeForce FX 5200" char m_szDescription[200]; char m_szManufacturer[200]; char m_szChipType[100]; // ±×·¡ÇÈÄ«µå RAM 128MB, "128.0 MB" char m_szDisplayMemoryEnglish[100]; // ÁöÆ÷½º FX 5200ÀÏ °æ¿ì, "nv4_disp.dll" char m_szDriverName[100]; // ±×·¡ÇÈÄ«µå µå¶óÀ̹ö ¹öÀü, ¿¹) "6.14.0010.7801" char m_szDriverVersion[100]; // ±×·¡ÇÈÄ«µå µå¶óÀ̹ö ³¯Â¥, ¿¹) "8/2/2005 16:35:00" char m_szDriverDateEnglish[100]; }; inline bool GetSystemAndDriverInfo( const char *lpszDll, St_SystemAndDriverInfo* pInfo) { HINSTANCE hDll = LoadLibraryA( lpszDll); if( !hDll) { return FALSE; } typedef bool ( *FUNC_GetSystemAndDriverInfo)( St_SystemAndDriverInfo*); FUNC_GetSystemAndDriverInfo pFnInfo; bool bRet = false; pFnInfo = (FUNC_GetSystemAndDriverInfo)GetProcAddress( hDll, "GetSystemAndDriverInfo"); if( pFnInfo) { bRet = pFnInfo( pInfo); } FreeLibrary( hDll); return bRet; } #endif // _3DRENDERER_SYSTEMANDDRIVERINFO_H_