AVIファイルから、サムネイルを取得する方法

解決


go  2007-08-08 02:15:36  No: 66001

お世話になります。
AVIファイルから、サムネイル画像を取得してフォームに表示させたいと考えています。
(エクスプローラで、[表示]→[縮小版]を選択した際に表示されるようなサムネイルのことです。)

以下のサイトを参考にしてみました。
http://forums.belution.com/ja/vc/000/336/31.shtml
http://bbs.wankuma.com/index.cgi?mode=al2&namber=3122&KLOG=12

これらのサイトによると、IExtractImage インターフェイスを使用していることがわかりました。しかし、当方の開発環境(Visual Studio .NET 2003 Managed C++)ではIExtractImage インターフェイスが見つかりません。
(定義されていないようです。)

当方の環境でのIExtractImageインターフェースを定義する方法を教えてください。よろしくお願いします。

<<環境>>
OS:Windows XP
開発環境:Visual Studio .NET 2003
言語:C++(Managed C++)


Blue  2007-08-08 02:52:59  No: 66002

shlobj.h
に定義がないでしょうか?
(VC6のデフォルトのSDKではないけど)

自力定義するなら
MIDL_INTERFACE("BB2E617C-0920-11d1-9A0B-00C04FC2D6C1")
IExtractImage : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetLocation(
        /* [size_is][out] */ LPWSTR pszPathBuffer,
        /* [in] */ DWORD cch,
        /* [unique][out][in] */ DWORD *pdwPriority,
        /* [in] */ const SIZE *prgSize,
        /* [in] */ DWORD dwRecClrDepth,
        /* [out][in] */ DWORD *pdwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE Extract(
        /* [out] */ HBITMAP *phBmpThumbnail) = 0;

};
const IID IID_IExtractImage = __uuidof(IExtractImage);
const DWORD IEIFLAG_SCREEN = 0x0020;

てな感じでしょうか。


go  2007-08-08 04:55:05  No: 66003

ご回答ありがとうございます。
shlobj.h、shlobj.hppをチェックしてみたのですが、定義はありませんでした。
自力での定義でやってみようと思います。


go  2007-08-20 20:59:36  No: 66004

遅くなりまして申し訳ありません。
解決とさせていただきます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加