현재 C#에서 프로젝트를 개발 중입니다. 이 프로젝트에서는 DirectX API를 사용합니다. 이제 DirectX 사용 가능 여부를 확인하는 함수를 구현하고 싶습니다.DirectX를 사용할 수 있는지 확인하는 방법은 무엇입니까?
어떻게해야할까요?
도움 주셔서 감사합니다.
현재 C#에서 프로젝트를 개발 중입니다. 이 프로젝트에서는 DirectX API를 사용합니다. 이제 DirectX 사용 가능 여부를 확인하는 함수를 구현하고 싶습니다.DirectX를 사용할 수 있는지 확인하는 방법은 무엇입니까?
어떻게해야할까요?
도움 주셔서 감사합니다.
시스템에 DirectX 호환 GPU가 있는지 검색하여 일부 가상 운영 체제에서는 그렇지 않은 Direct3D9 장치를 만들 수 있습니까? 그 중 하나는 장치 인스턴스를 생성하고 그것이 던질 가능성이있는 예외를 잡음으로써 간단히 테스트 할 수 있습니다.
DirectX 설치 여부 자체는 Windows \ System32 폴더를 살펴보면 확인할 수 있습니다. 예를 들어, d3d9d.dll 및 D3DX9_43.dll을 확인하십시오.
답변 해 주셔서 감사합니다. 장치 인스턴스를 만드는 테스트는 좋은 생각입니다. "dxdiag"를 실행하여 DirectX 버전을 확인할 수도 있습니다. – Maxim
DirectX를 얻을 수있는 또 다른 방법 - 버전 :
void CheckDirectXMajorVersion()
{
int directxMajorVersion = 0;
var OSVersion = Environment.OSVersion;
// if Windows Vista or later
if (OSVersion.Version.Major >= 6)
{
// if Windows 7 or later
if (OSVersion.Version.Major > 6 || OSVersion.Version.Minor >= 1)
{
directxMajorVersion = 11;
}
// if Windows Vista
else
{
directxMajorVersion = 10;
}
}
// if Windows XP or earlier.
else
{
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\DirectX"))
{
string versionStr = key.GetValue("Version") as string;
if (!string.IsNullOrEmpty(versionStr))
{
var versionComponents = versionStr.Split('.');
if (versionComponents.Length > 1)
{
int directXLevel;
if (int.TryParse(versionComponents[1], out directXLevel))
{
directxMajorVersion = directXLevel;
}
}
}
}
}
Console.WriteLine("DirectX Version: " + directxMajorVersion.ToString());
Console.ReadKey();
}
이 읽기 : http://stackoverflow.com/questions/3255094/minimum-directx-9-0c-version-and-how-to- check-for-it – Andy
어떤 버전의 DirectX와 어떤 OS가 필요합니까? 어쨌든 DX10과 DX11은 Windows 7과 Windows 8의 일부입니다. –
Windows XPfessional SP 3에서 버전 9.0c가 필요합니다. 그러나 소프트웨어가 win XP에 설치되어 Vista를 얻고 7을 획득 할 수 있습니다. 따라서 더 많은 DX 버전을 확인해야한다고 생각합니다. 맞습니까? – Maxim