Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[erledigt] Windows API Code Pack Thumbnail
Diräkt
myCSharp.de - Member



Dabei seit:
Beiträge: 622
Herkunft: Schweiz

Themenstarter:

[erledigt] Windows API Code Pack Thumbnail

beantworten | zitieren | melden

Liebe Leute :-)

Problematik:

Thumbs generieren funktioniert in WinForms Applikation.
Thumbs generieren funktioniert auch in WebForms, aber nicht für PDF ?! (hier erhalte ich nur das PDF Icon anstatt die erste Seite als Vorschau)


Code:


 public Bitmap GetBitmapFromFilePath(string filePath)
        {
            ShellFile sFile = ShellFile.FromFilePath(filePath);
            sFile.Thumbnail.FormatOption=ShellThumbnailFormatOption.ThumbnailOnly; ***
            return sFile.Thumbnail.MediumBitmap;
        }

*** Wenn ich dieses Property setze erhalte ich in der WebForms Applikation folgende Exception:
ohne diese Zeile erhalte ich bei Webforms das PDF Icon und bei Winforms die erste Seite als Preview.

( Class not registered (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) )
(Soll wohl soviel heissen wie; keine Vorschau vorhanden)


---
=> Ich benutze den selben Rechner für Winform und Webform Test
=> Ich benutze das selbe File für Winform und Webform Test
---


Jemand eine Idee ?

( Hier scheint jemand das gleiche Problem zu haben, leider ohne Lösung )
Stackoverflow - Windows Api Code Package Shell Thumbnail Generation



Beste Grüsse

Diräkt
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Diräkt am .
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

das Property basiert prinzipiell auf der IShellItemImageFactory. (lt. IlSpy)

Basierend auf folgendem: http://stackoverflow.com/questions/12654835/accessing-thumbnails-that-dont-exist - würde ich für meinen Teil vermuten, dass es mit dem UAC-Level zu tun hat.

Das könnte z.B. daran liegen, dass diese native Methode versucht die Bilder zu cachen.
Zudem ist der Handler für Thumbnails ja ein anderer (wahrscheinlich von Acrobat) wie der für Icons (Microsoft)....

Was ich mir auch noch vorstellen kann:
Gerade diese PDF-Handler haben (soweit mir bekannt) auch ein Problem mit MTA-Applikationen. (COM-Interop & Co. scheint wohl eher für STA-Applikationen?)

Ich hatte vor einer halben Ewigkeit auch mal eine Art Hack (Titel hatte was mit "bypassing COM" zu tun) gefunden, der das ganze für den PDF-Preview-Handler irgendwie umgangen hatte. Leider finde ich es nicht mehr -.- Vielleicht hast du ja mehr Glück...

LG
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Taipi88 am .
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10083

beantworten | zitieren | melden

Naja, WebForms läuft unter einem WebServer, also zu 90% unter IIS.
Und der läuft unter einem anderen User.
private Nachricht | Beiträge des Benutzers
Diräkt
myCSharp.de - Member



Dabei seit:
Beiträge: 622
Herkunft: Schweiz

Themenstarter:

beantworten | zitieren | melden

Herzlichen Dank für die Tipps.

Da ShellFile das File von Windows representiert, sind Thumbs nur verfügbar wenn die entsprechenden Programme auch auf dem Server installiert sind, daher ist es für WEB sowieso das Falsche.

Besten Dank und beste Grüsse

Diräkt
private Nachricht | Beiträge des Benutzers