• ベストアンサー

どっちのDLLのバージョン?

OSはWindowsXP。 コンパイラはVC++6.0 with MFCという環境です。 CTreeCtrl::InsertItemの引数にTVINSERTSTRUCTというのがあり、そのメンバに Version 4.71 itemex という記述がヘルプにあります。 このバージョン4.71の意味がわからず調べたところ、 Comctl32.dll Version 4.71 以上 Windows 98 以降 / Windows 2000 以降 または Internet Explorer 4.0 以降をインストールした Windows 95 / NT 4.0 という環境で動作するというところまでは、わかりました。 そこで、エクスプローラで、Comctl32.dllを探し、右クリックして、バージョン情報のタグを選択すると、詳細-項目で、「ファイルバージョン」と「製品バージョン」の二つのバージョンがあることに気づきました。 この場合、Version4.71以上というのはどちらのバージョンのことを指しているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.2

Comctl32.dll では ・ ファイルバージョン 5.82 (xpsp1.020828-1920) ・ 製品バージョン 6.00.2800.1106 ・ 製品名 Microsoft® Windows® Operating System となっていますが(僕の環境では) これは、こういう風に解釈されます。 「製品 Microsoft® Windows® Operating System バージョン 6.00.2800.1106 で提供されている、 バージョン 5.82 の Comctl32.dll です。」 例えば、MFC4.0DLL ですと 「製品は Microsoft Visual C++ 4.1.001 についてくる もので、(ファイル)バージョンは、4.1.6140 である」 みたいな感じです。 おわかりいただけましたでしょうか?

miswaki777
質問者

お礼

ありがとうがざいます。 とってもわかりやすかったです。 やはり、「ファイルバージョン」のことのようですね。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

ファイルバージョンで比較するのが正しいと思います。 製品バージョンの場合、世代認識の場合もあるので、正確に分類できない場合も有ります。

miswaki777
質問者

お礼

早速の回答、どうもありがとうございます。

関連するQ&A

  • MFC42D.DLLの最新バージョンは?

    いつも参考にさせて頂いております。 VC6において、同一プログラムをデバックで実行した場合、 WINDOWS2000環境では、エラーなくデバックできるのですが、 WINDOWSXP環境では、アセンブリの混合モードになり、うまくいきません。 DLLは、動的扱いをしています。 また、リリースモードでは、うまく実行できます。 MFC42D.DLLのバージョンが下記のように違っていたので、 最新バージョンを確認したいと思い、質問させていただきました。  WINDOWS2000では、6.0.8665.0  WINDOWSXPでは、6.0.9782.0 また、特に、意識して、MFCをインストールした記憶はありません。 現在、VC++について、勉強しながらやっており、初心者ですが、 よろしくお願いします。

  • エクスプローラでCOMCTL32.DLLのページ違反

    Win98SEを使っていますが、突然エクスプローラで、「EXPLORER のページ違反です。モジュール:COMCTL32.DLL、アドレス:017f:bfb7255c」 と、エラーが発生しました。 この時、Windows上では、Internet Explorer、Word、Mifes、ペイント、エクスプローラを開いていましたので、リソース的には辛かったろうとは思いますが、このエラーの意味を教えてください。 ちなみに、COMCTL32.DLLのバージョンは、5.81でした。

  • COMCTL32.DLL?

    レジストリのエラーと このDLLのエラーが頻繁にでます COMCTL32.DLLのVerは 5.80です が これはwin98se以降の対応みたい(?)なので 前の古いバージョンへ戻したりすることはできるんでしょうか IEの修復などをしても同じでした。 IEを再インストールしたほうがいいでしょうか こちらの環境はwin95/IE5.5です 新しいソフトを入れたらかきかえられてしまったのか 自分がアップデートをDLしたのか 忘れてしまったんです ちなみに40COMCTL32.DLLっていうのもあるみたいなんですけど はずかしい質問ですがエラーの頻度がおおくて とても目につくのでできるかぎり解決されたいです よろしくおねがいします。 前回の質問は 質問者の名前のリンクからみてください。

  • MAME32が古いバージョンのcomctl32.dllを検出しました。common controleをアップデートさせるにはどうしたらよいでしょうか?

    MAME32が古いバージョンのcomctl32.dllを検出しました。common controleをアップデートさせるにはどうしたらよいでしょうか? WindowsXPでは動いていたMAME32(バージョン 0.36.0.0)をVistaで動かそうとしたら、 「MAME32 Outdated Comctl32.dll Warning」ウィンドウが開いて 『MAME32が古いバージョンのcomctl32.dllを検出しました。http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp でcommon controleをアップデートさせて下さい』と表示されるのですが、 このマイクロソフトの「http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp」に行っても 「申し訳ございません。ご指定のページが見つかりませんでした。」となってしまいます。 MSNの相談箱に行って、同じような質問があったので参照しましたがリンクをたどっても解決するに至りませんでした。 どなた様か何とか解決法をご教示頂けませんでしょうか?どうぞよろしくお願い申し上げます。

  • shell32.dllの最新バージョンに変更したいのですが

    shell32.dllを最新バージョンに変更したいのですが、 やり方が分かりません。 shell32.dllは現在、ver.4.0...です。 バージョンアップの方法を調べたのですが、IE4をまずインストール しなければならないとのこと。 いきなりIE6をいれてしまったため、shellがバージョンアップ しなかったようです。 しかしIE4はもう、マイクロソフトからダウンロードできない状態に なっており、この方法は使えません。 別の方法で、shell32.dllを更新する方法はないでしょうか? ぜひ、教えてください。 使用環境 OS:NT4.0 cpu:600 mem:128

  • VC++6.0からVBで作成したActiveX.DLL内の関数が呼出しできない

    VB6.0で作成したActiveX.DLLをVC++6.0(Win32SDK)側で 呼び出すプログラムを作成中です。 VB側(DLL)では問題なく作成できています。 Classに1つPublic関数を作成しただけです。 (Instancingは5MultiUseにしてあります) しかし、VC++側の呼出しでDLL内の関数が 呼び出せないのです。 LoadLibraryExでDLL自体のハンドルは取得できるのですが GetProcAddressで関数の取得時にNULLが返ってきてしまいます。 今まで試したことは ・VBからの呼出しはOK ・MFCだとOK ・SDKでもuser32.dll呼出しのサンプルは関数も実行できる です。 今からMFCへ以降するのは厳しいのでSDkでの方法を 知りたいです。 VB側が悪いのかもしれませんが、関数1つですし、 いじるところもほとんどないので多分VC++側だと 思っています。 なにか注意点とか確認するところをおしえていただければ 幸いです。 環境 Windows2000 SP3 VB6.0 SP5 VC++6.0 SP5 Win32SDK

  • ビルドされたファイル(EXE、SYS etc)のプロパティのバージョン情報

    Windows環境でのプログラミングに馴れていません、基本的なことかもしれませんが教えて下さい。VC++6.0、NT4.0で作成しています。 *.rcでリリース情報を作成しているつもりなのですが、ビルドされたファイルのプロパティを見てみると、「ファイルの情報」と「セキュリティ情報」しかなく、「バージョン情報」のタグが作成されませんでした。 プロパティの「バージョン情報」タグを作成するには、どうしたらいいんでしょうか? 作成された場合とされなかった場合には、どのようなところに違いがあったんでしょうか?よろしくお願いします。

  • Internet Explorer6にはMLANG.DLL6が必要!

    Internet Explorerのバージョンを、5.5から6にしました。 使用し始めてみたら、サクサク表示されるページもあるくせに、 固まったまま動かなくなるページは出てくるわ、メールが時々送信出来なくなるわで、 ほとほと困り果て、どこかが壊れているのではと思い立ち、コントロールパネル →アプリケーションの追加と削除→Microsoft Internet Explorer6と インターネットツール→追加と削除でInternet Explorerの修復を試みたのですが、 『MLANG.DLLファイルのVersion5.50.4807.2300が存在しますが、必要となるMLANG.DLLファイルの バージョンは、MLANG.DLL Version6.0.2600.0以降です』とエラーメッセージが出てしまいました。 Microsoft社のサイトや検索サイトでこのファイル名をあたってみたのですが、 バージョンアップ出来るサイトにヒットしません。 Internet Explorerを5から5.5にした時は何事も無く素直にアップデートできたのですが、 今回のこのMLANG.DLL Version6.0.2600.0というファイルは、どうやったら手に入るでしょうか。 Internet Explorer6のダウンロードは正常に行われたと思うのですが…。 3回入れなおしたのですが、駄目でした(T_T)。どうかお助け下さい…。

  • VB.NETでUnzip32.DLLを使うには?

    VB2005または2008でUnzip32を使ってzipファイルを解凍する方法を教えてください。 Unzip32のバージョンは5.42、OSはXP32bitSP3です。 UnZipGetVersionではきちんとバージョンが返ってきますので、DLL自体には問題はないと思います。 Classの下に Public Declare Function UnZip Lib "unzip32.dll" (ByVal hwnd As Long, ByVal szCmdLine As String, ByVal szOutput As String, ByVal dwSize As Long) As Long を記述し、 UnZip(0, "-o C:\01.zip E:\", vbNull, 0) と命令してもコンパイラエラーになってしまいます。 第二引数のC:\01.zipはちゃんと存在するファイルであることを一応書き添えておきます。 引数の記述がおかしいと思うのですが、Unzip32のドキュメントを読んでも解決できません。 一日中ぐぐってもVB2005以降での構文サンプルも見つかりませんでした。 UnzioExtractでも引数の説明が意味不明で解凍できませんでした。 できましたら第一から第四までの引数になにを入れたらいいのか、 具体的に指示していけたらありがたいです。 よろしくお願いします。

  • Npgsql.dllをバージョン指定でダウンロード

    PostgreSQLのApplication Stack Builderを使用しNpgsql.dllをインストールしたところ バージョンが2.0.12になりました。2.0.11をインストールしたいのですが、 バージョン指定でインストールすることはできないのでしょうか? ご回答のほど、よろしくお願いいたします。 【環境】 Windows7 Professional SP1 VB2010 PostgreSQL9.2.1