![]() |
AW: Ordnung muss sein (LaunchBar)
Mir juckts inne Finger, hab gelesen dass das IExtractIcon über PIDL arbeitet, also direkt Windows-Cache mitbenutzt um nicht mal nen Icon nachzuladen, sobald ich da was zustande gebracht habe Berichte ich was. In der Hoffnung das der dann das Desktop-Symbol nimmt werde ich testen testen testen, bis später....!
|
AW: Ordnung muss sein (LaunchBar)
Zitat:
Nur es hat nichts mit dem auslesen der Icons über Verknüpfungen zu tun. Aber gut du kannst natürlich weitertesten. :) gruss |
AW: Ordnung muss sein (LaunchBar)
Wenns über PIDL läuft, ist doch Icon bereits vorgegeben, das was Shell dafür benutzt. In Bezug auf .lnk sollte eigentlich das Icon raus kommen was Dir der Desktop/Explorer darstellt. Vielleicht versteh ich da auch gerade mal wieder was falsch, das werden meine Tests zeigen, guter Tipp mit TAudioVolume, da schau ich mal nach wie Du es im Einsatz hast und nehme es eventuell später als Vorlage.
Aber erst mal selbst nach Windows-Api nachprogrammieren damit ich weiß wie es funktioniert. |
AW: Ordnung muss sein (LaunchBar)
Liste der Anhänge anzeigen (Anzahl: 1)
Da habe ich schön daneben gelegen, Schade eigentlich. Ich bekomme wieder nur das Application System Icon dargestellt für 64bit \Program Files\
Andererseits liefert es mir die besseren individuellen Bilder, ich glaube ich bleibe jetzt dabei, muss nur noch was mit Transparenz machen, siehe hier Anhang 49788 edit Mein nächster Versuch gilt es PIDL abzufragen um das Icon zu holen, mal sehen ob ich damit auch scheitere. |
AW: Ordnung muss sein (LaunchBar)
Du must dich darum nicht mehr kümmern..
Bin mit der x64 Version dran da funktioniert es mit den Icons. So wie ich sagte du kannst mit einer 32Bit Anwendung im Pfad Program Files nicht rumpfuschen. Deshalb bekommst du auch die Icons nicht. Hier ein Pic OTTB64 oben und OTTB unten. Ich bin dran habe aber einiges an Problemen zu beseitigen. (Kann dauern) Siehe DVDMaker.exe erste Icon auf der linken Seite. gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Zitat:
Zitat:
Gruß |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Aus den Exe Dateien bekomme ich sie auch alle. Oder meinst du ich mache mir die Arbeit mit einer 64BIt Anwendung umsonst? Nur deshalb weil es auf normalem Wege halt nicht geht. gruss |
AW: Ordnung muss sein (LaunchBar)
Zum Fortschritt.
Langsam komme ich weiter, musste meine GDI+ Unit komplett umschreiben und dementsprechend auch alle Funktionen innerhalb meiner Lib. Es funktioniert einwandfrei mit 32Bit aber 64Bit leider nicht! Es hat damit zu tun.. bsp. Wenn ich unter 32Bit einer Funktion ein Cardinal übergebe und diese in 64Bit nicht kompatibel ist dann kracht es. Deshalb muss ich alles umschreiben damit es auf beiden Plattformen funktioniert. GDIPlus Image war Cardinal ist nun Pointer usw.. Es läuft soweit nur mein Menu noch nicht.. ;) habe da wohl noch ein\zwei Funktionen unter GDI+ die ich noch korrekt umlegen muss. Das dauert seine zeit. Kracht immer bei
Delphi-Quellcode:
Muss aber nichts bedeuten denn die Typen sind korrekt habe sie angepasst.
// Gibt die höhe und weite vom GDIPLUS Image zurück.
procedure TSkinEngine.GetImageSize(Img: Pointer; var imgW, imgH: UINT); begin if Assigned(Img) then begin GdipCheck(GdipGetImageWidth(Img, imgW)); GdipCheck(GdipGetImageHeight(Img, imgH)); end; end; Irgendwo dazwischen passiert noch was das sich nicht so leicht debuggen lässt. Test im Anhang werde ich löschen wenn die Final fertig ist inklusive fix für das Menu (GDI+). Zumindest sollten jetzt deine Icons aus "Program Files" richtig angezeigt werden. Aber wundere dich nicht die Dateien sind nun um ein 10faches größer. PS: Die 32Bit läuft mit den geänderten Typen für 64Bit ohne Probleme schwer den Fehler zu lokalisieren. Ich finde keine Informationen darüber was bei der GDI+ 64Bit für Typen übergeben werden müssen. grrrrrr.. Es gibt auch keine 64Bit API für GDI+ von Delphi zumindest finde ich keine. gruss |
AW: Ordnung muss sein (LaunchBar)
Kurzes Mini-Feedback:
Mit deinem 64bit build lädt er Icon fast korrekt, warum nur fast fragst Du Dich? Weil irgenwie in Deiner Methode was merkwürdig läuft. Ich habe folgendes gemacht: 64bit 7zip installiert in \Program Files\7zip rein und zu 7zG.exe eine Verknüpfung auf Desktop abgelegt. 32bit Ottb = System Application Icon 64bit Ottb = zeigt brav 7zG.exe Icon an 32bit Delphi über
Delphi-Quellcode:
= System Application Icon
SHGetFileInfo(PChar(IncludeTrailingPathDelimiter(Path) + finddata.cFilename), 0, fi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_TYPENAME or SHGFI_ICON)
jetzt das merkwürdige in \Program Files\7zip rein und 7zG.exe eine Verknüpfung auf Desktop abgelegt aber dieses mal mit 2. Icon von 7zFM.exe 32bit Ottb = System Application Icon 64bit Ottb = zeigt Icon von 7zG.exe, sollte aber das 2. von 7zFM.exe sein 32bit Delphi über
Delphi-Quellcode:
= zeigt das 2. aus 7zFM.exe
SHGetFileInfo(PChar(IncludeTrailingPathDelimiter(Path) + finddata.cFilename), 0, fi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_TYPENAME or SHGFI_ICON)
Hab Dein 64bit noch nicht weiter getestet, wollte Dich nur das obige Wissen lassen. Gruß |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Es wird immer das 1 (Index 0) ICON_LARGE genommen. Seltsam ist das nicht sondern so programmiert. Aber wenn nötig kann man es später noch ändern. Der 64Bit Code ist bis auf die Typen gleich da hat sich nichts geändert. Zitat:
Danke trotzdem für die Meldung. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 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 by Thomas Breitkreuz