0

私がやりたいことは、画像ではないある種のファイルからサムネイルを作成するためのベースとして、Windows に私のプログラムを使用させることです。

Windows では、画像、Word 文書、PDF などのサムネイルを見ることができます。これは、私が他のファイル タイプで必要としているものです。これらのファイル (後でサムネイルとして使用したい) からビットマップを作成し、どこかに保存することができます。

私の質問は、拡張子を私のプログラムにサムネイルが存在するかどうかを作成/確認し、画像/パスを画像に返すという要求に接続する方法です。ヘルプと例は非常に役立ちます。

4

1 に答える 1

1

を実装するクラスを使用して、COM DLL ライブラリを作成する必要がありますIExtractImage

次に、サポートするファイル拡張子を使用してシェル拡張子を登録します。

HKEY_CLASSES_ROOT\[.ext]\shellex\[SID_IExtractImage]
@default = [MyExtractImageShellExtensionCLSID]

どこ

  • .extビューアを作成するファイルの拡張子です (例: .psd)
  • SID_IExtractImage定数です{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}
  • MyExtractImageShellExtensionCLSIDclsidは、実装するシェル拡張のクラス ID ( ) です。IExtractImage

したがって、Photoshoppsd拡張ハンドラを登録していて、COM オブジェクトの clsid が次の場合{CCB7DB3B-D073-4606-B246-2A5174D274C8}:

HKEY_CLASSES_ROOT\.psd\shellex\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}
@default = {CCB7DB3B-D073-4606-B246-2A5174D274C8}

次に、以下を実装する COM オブジェクトを作成するだけです。

  • IPersist
  • IPersistFile
  • IPersistStream(オプション)
  • IExtractImage

また、Explorer は拡張機能を使用して、Photoshop 画像のサムネイルを作成します。

: 64 ビット Windows を実行している場合、64 ビット Windows Explorer がロードできる 64 ビット COM オブジェクト DLL を作成するには、64 ビット コンパイラが必要です。

于 2013-01-23T15:19:21.967 に答える