Вземете миниатюри от всеки файл, дори и от тези, които не са в thumbs.db

Трябва да извлека миниатюри от файлове в папка. Опитах с този пример, но не винаги работи. Дава ми миниатюри на изображения и PDF файлове, но не и на Word, Excel, Text, OpenOffice и др. файлове.

Редактиране: Това, което имам предвид с „Не работи“ е „Не връща изображението, което очаквам. Връща иконата на приложението, използвано за отваряне на файла.

Редактиране 2: Windows Explorer ми показва миниатюри на файловете, които споменах като „неработещи“ (.xls, .doc, , .ppt, .odt, .ods)


person Duilio Juan Isola    schedule 02.08.2011    source източник
comment
когато отворите Windows Explorer, можете ли да видите миниатюри на word excel и т.н.?   -  person opc0de    schedule 02.08.2011
comment
-1 Не работи никога не е валидно описание на проблем. По какъв начин не работи? Какви и къде има грешки?   -  person David Heffernan    schedule 02.08.2011
comment
Съжалявам, @David Heffernan. Не работи, означава, че не връща изображението, което очаквам (миниатюра на документа). В примера, ако не успее да върне миниатюрата, той връща иконата на приложението, използвано за отваряне на този вид файл.   -  person Duilio Juan Isola    schedule 02.08.2011
comment
@opc0de Да, Windows Explorer ми показва миниатюри на файловете, които споменах, че не работят (.xls, .doc, , .ppt, .odt, .ods)   -  person Duilio Juan Isola    schedule 02.08.2011
comment
Гласуването против е премахнато, въпросът вече е подобрен.   -  person David Heffernan    schedule 02.08.2011
comment
РЕДАКТИРАНЕ: Променено заглавие. Мисля, че сега отразява по-точно действителния въпрос. Съгласен ли си Дейвид?   -  person Warren P    schedule 02.08.2011
comment
@Warren Хм, все пак е малко провокативно към отговора на opc0de   -  person David Heffernan    schedule 02.08.2011
comment
Изглежда, че OP наистина иска някакъв API, който надхвърля възможностите на IExtractImage от ерата на XP, и че opc0de знае, че OP иска това.   -  person Warren P    schedule 02.08.2011


Отговори (2)


Мисля, че грешите. Не всички .doc и .xls файлове се записват с миниатюри. Със сигурност .txt файловете не се записват с миниатюри.

Изтеглих демо кода и го изпробвах. Той успешно показва миниатюри за .doc и .xls, които показват миниатюри в Explorer. Той показва стандартни икони за онези файлове, които нямат миниатюри, когато се преглеждат в Explorer.

person David Heffernan    schedule 02.08.2011
comment
Коя версия на Windows / MS Office / OpenOffice пробвахте? Аз съм с Windows XP + OpenOffice - person Duilio Juan Isola; 02.08.2011
comment

Бих искал да изключа някои предупреждения на Visual Studio, включително:

  • Полето може да бъде направено само за четене
  • Името не отговаря на правилото...
  • Използвайте неявно въведена декларация на локална променлива

Но вероятно някои от тях идват от някой плъгин като Resharper? Не съм сигурен...

- person David Heffernan; 02.08.2011

Ето един инструмент, който чете Thumbs.db файл, извличайки изображения от него, надявам се, че помага (предоставен източник)

https://sites.google.com/site/delphibasics/home/delphibasicsprojectreleases/thumbsdbviewer

Не знам защо кодът, който сте публикували, не работи правилно, трябва...

person opc0de    schedule 02.08.2011
comment
защо е така... ако той каза, че изследователят показва палците, тогава това ще работи - person opc0de; 02.08.2011
comment
Thumbs в Thumbs.db може да не са правилния размер и може също да не съдържат нищо за даден файл. Те се създават при поискване от Explorer. - person David Heffernan; 02.08.2011
comment
Вярно!... но докато някой не се появи с по-добра идея, ще запазя този отговор - person opc0de; 02.08.2011
comment
OP иска изглежда начин за използване на собствената функционалност на Explorer по начин, за който не съществува публична документация. Никой не трябва да гласува против opc0de, защото той отговори на този въпрос със заглавието, както първоначално е написано от OP. Промених заглавието, защото ОП беше особено обезпокоен от отговора на неговия въпрос и чувствах, че ситуацията е несправедлива към отговарящите. - person Warren P; 02.08.2011
comment
@Warren Твърдя, че Explorer не прави нищо повече от IExtractThumbnail. - person David Heffernan; 02.08.2011
comment
Explorer може да няма нищо друго вградено, но разширенията за Explorer в Windows може да са на компютъра на този човек и той може да търси начин да използва възможностите на тези разширения на обвивката. - person Warren P; 02.08.2011