2008-09-17 3 views
3

우리는 Direct3D를 사용해야하는 응용 프로그램을 가지고 있습니다. 특히 DirectX 9.0c 버전 4.09.0000.0904 이상이 필요합니다. 이것은 최신의 모든 XP 시스템에 있어야하지만 이전의 XP 시스템에는 설치되지 않을 수도 있습니다. 프로그래밍 방식으로 (C++을 사용하여) 어떻게 설치되어 있는지 판단 할 수 있습니까? Direct3D를 사용할 수 없다는 정보 메시지를 사용자에게 제공 할 수 있기를 바랍니다.설치된 Direct3D 버전을 확인하는 방법은 무엇입니까?

답변

5

전화 DirectXSetupGetVersion :

DWORD dwVersion; 
DWORD dwRevision; 
if (DirectXSetupGetVersion(&dwVersion, &dwRevision)) 
{ 
    printf("DirectX version is %d.%d.%d.%d\n", 
      HIWORD(dwVersion), LOWORD(dwVersion), 
      HIWORD(dwRevision), LOWORD(dwRevision)); 
} 
0

DirectX 9.0 SDK (summer 2004) 설명서에 따르면 \ Samples \ Multimedia \ DXMisc \ GetDXVer의 GetDXVer SDK 샘플을 참조하십시오.

0

빠른 Google 검색이 식별 ​​this article을집니다 : http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.directsetup.directxsetupgetversion

당신은 여기 dsetup.h

포함해야합니다 사이트에서 샘플 코드입니다 레지스트리에서 버전 번호의 위치를 ​​확인한 다음 내부 버전 번호를 더 익숙한 버전 번호로 매핑하는 사례 문을 제공합니다.

또 다른 빠른 Google 검색은 reading from the registry에 대한 C++의 예를 보여줍니다.

즐기 ...

+0

깨진 링크! –

0

예는 2009 년 3 월의 DirectX SDK에서 샘플을 설치 다이렉트에 표시된 메커니즘을 사용합니다. (샘플 브라우저에서 "시스템"카테고리를보십시오.)

레지스트리를 사용하지 마십시오! 그 물건은 서류 미비이고 작동하지 않을 수 있습니다.

지원되는 유일한 방법은 DirectX 설치 샘플에 표시된 DirectSetup API를 사용하는 것입니다. 또한 제 24 장에서이 내용을 다룹니다. 내 책 The Direct3D Graphics Pipeline의 설치 및 설정. 위의 URL에서 무료로 해당 장을 다운로드 할 수 있습니다.