![]() |
Shell-Erweiterung zur Icon-Darstellung erstellen
Hallo,
ich möchte eine Shell-Erweiterung programmieren, die mir den Inhalt von SVG-Dateien als Icon anzeigt. Hat jemand damit Erfahrung und kann mir ein paar Hinweise geben (vielleich ein Link auf ein Tutorial :wink: )? Gruß xaromz |
Re: Shell-Erweiterung zur Icon-Darstellung erstellen
Da gibts noch nix (kostenloses) ausser für Kylix ->
![]() |
Re: Shell-Erweiterung zur Icon-Darstellung erstellen
Er will eine programmieren, turboPASCAL ;-)
![]() Einen SVG-Viewer solltest du zum Beispiel auf torry.net finden. |
Re: Shell-Erweiterung zur Icon-Darstellung erstellen
Hallo,
Zitat:
Zitat:
Zitat:
![]() Gruß xaromz |
Re: Shell-Erweiterung zur Icon-Darstellung erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
so, jetzt bin ich soweit fertig mit meinem Code, habe aber immer noch ein Problem: Wenn ich mein COM-Objekt registriere (regsvr32 SVGIcon.dll), dann funktioniert zwar die Icondarstellung im Explorer, aber der Prozess regsvr32 bleibt hängen und kann nur noch im Taskmanager gekillt werden. Beim Entfernen genauso. Ich hänge mal das Projekt dran (die SVG-Geschichten habe ich rausgenommen, die sind für das Problem irrelevant und stören nur). Kann mir das jemand erklären? Noch besser: Hat jemand eine Lösung? Gruß xaromz //Edit: Anhang aktualisiert, hatte die SVG-Sachen doch nicht rausgenommen. |
Re: Shell-Erweiterung zur Icon-Darstellung erstellen
Hallo,
ich bin zwar bisher mit meinem Problem nicht weitergekommen, möchte nun aber ein zusätzliches Interface implementieren: IThumbnailProvider. Leider ist dieses unter Delphi noch nicht verfügbar, deshalb muss ich es selbst übersetzen. Kann mir jemand sagen, ob das so stimmt:
Code:
typedef DWORD WTS_ALPHATYPE;
MIDL_INTERFACE("e357fccd-a995-4576-b01f-234630154e96") IThumbnailProvider : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetThumbnail( /* [in] */ UINT cx, /* [out] */ __RPC__deref_out_opt HBITMAP *phbmp, /* [out] */ __RPC__out WTS_ALPHATYPE *pdwAlpha) = 0; };
Delphi-Quellcode:
Und falls jemand mein anderes Problem lösen kann, bin ich auch nicht böse :stupid: .
type
WTS_ALPHATYPE = DWORD; IThumbnailProvider = interface(IUnknown) ['{e357fccd-a995-4576-b01f-234630154e96}'] function GetThumbnail(cx: UInt; out phbmp: HBitmap; out pdwAlpha: WTS_ALPHATYPE): HRESULT; stdcall; end; //Edit: Das hier brauch ich auch noch:
Code:
MIDL_INTERFACE("b824b49d-22ac-4161-ac8a-9916e8fa3f7f")
IInitializeWithStream : public IUnknown { public: virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ IStream *pstream, /* [in] */ DWORD grfMode) = 0; };
Delphi-Quellcode:
Gruß
IInitializeWithStream = interface(IUnknown)
['{b824b49d-22ac-4161-ac8a-9916e8fa3f7f}'] function Initialize(const pstream: IStream; grfMode: DWORD): HRESULT; stdcall; end; xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz