C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.64314 の関連記事表示

<< 0 >>
■64314  Re[6]: VC++でDirectXのバージョン取得方法について
□投稿者/ C++初心者 -(2012/11/23(Fri) 01:06:50)
    マルチポストは規約をしっかり読んで、今後しないように致します。
    すいませんでした。

    一応自己解決しましたので、長文になりますが、手順を記載させて頂きます。
    @ITの質問はこちらのリンクを記載して解決済みに致します。

    方法は@のDirectXSetupGetVersion でやりました。

    1) プロジェクトプロパティーページ - リンカー - 全般 - 出力の登録を[いいえ]に変更
    2) コンパイル
      regsvr32.exeが実行されないため、[MSB8011]が発生しなくなりました。
    3) ActiveXのinf (セットアップ情報ファイル)に、DSETUP.dll情報を追記
    -TestDxVer.inf---------------------------
    ~省略~
    [Add.Code]
    TestDxVer.ocx=TestDxVer.ocx
    DSETUP.dll=DSETUP.dll ←追記

    [TestDxVer.ocx]
    file-win32-x86=thiscab
    clsid={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
    FileVersion=1,0,0,1
    RegisterServer=yes

    [DSETUP.dll] ←追記
    file-win32-x86=thiscab
    -----------------------------------------

    4) $(DXSDK_DIR)Redist内にある、DSETUP.dllをCabファイル生成時に
      ocx、infと一緒にCabファイルに圧縮する。

    無理やりですが、この方法で動かすことが出来ました。
    しかし取得できた値が、レジストリ値と同様で[4.09.00.0904]でした。。。

    http://msdn.microsoft.com/ja-jp/library/ee416788(v=vs.85).aspx
    WindowsXPではDirectX10は利用出来ないとありましたので、
    OS判定をして、XPから前のOSならば、
    http://en.wikipedia.org/wiki/DirectX
    ↑のバージョンと照らし合わせて値を返し、
    Vista以降は照らし合わせた結果が、9以下の場合
    WindowsVista : 10, WIndows7 : 11, WIndows8 : 11.1
    を返す仕様にして対応しました。

    正確性に欠け無理やりな対応ですが、この機能だけに時間も避けないのでとりあえずこれで解決にしました。
    もっとしっかりとした方法がありましたらお教えください・・・。
    ありがとうございました。
記事No.64289 のレス / END /過去ログ108より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -