縮小版(サムネイル)
縮小版のテスト実装を行った。
適当に記述したら、とりあえず動いた。
ただ、Thumbs.dbの挙動が良くわからない。
フラグでIEIFLAG_CACHEを設定しても、Thumbs.dbを生成しない。
いろいろ試してみると、エクスプローラを含む多くのファイラでThumbs.dbを
作らないのに、あるファイラだけがThumbs.dbを生成する。
挙動をコントロールできるはずだが...。
引き続き調査が必要。
// IExtractImage取得 IExtractImage* ii; HRESULT hr; UINT reserved; hr = sf->GetUIObjectOf(NULL, 1, il, IID_IExtractImage, &reserved, (LPVOID*)&ii); // bmp取得 wchar_t path[MAX_PATH] = L""; SIZE sz = {96, 96}; HBITMAP bmp = NULL; DWORD flags = IEIFLAG_SCREEN; hr = ii->GetLocation(path, MAX_PATH, 0, &sz, 24, &flags); if (SUCCEEDED(hr)) hr = ii->Extract(&bmp); ii->Release(); // 描画 HDC bdc = ::CreateCompatibleDC(dc);