![]() |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Habe es letztens mal versucht aber es gibt Problem weil ich 32Bit DLL's damit verwende. Sie wird kompiliert aber nicht gestartet weil verschiedene Module enthalten sind 32\64 Bit halt. gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
1. pic neu. 2. Pic vorher. Neue Version hochgeladen. gruss |
AW: Ordnung muss sein (LaunchBar)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Ob die Qualität der nun unsichtbaren Icons besser ist, kann ich nicht beurteilen :wink: |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Muss da wohl nochmal nachschauen. :) Bin froh wenn das teil endlich fertig ist. Update oben, das war es jetzt erst mal. gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Zitat:
|
AW: Ordnung muss sein (LaunchBar)
Zitat:
Danke für die Meldung. gruss |
AW: Ordnung muss sein (LaunchBar)
Danke @jaenicke für Bestätigung meiner Beobachtungen das Windows wenn über Shortcut Datei ausgeführt NICHT den dafür eingetragenen String benutzt sondern sich das ganze aus CSIDLs zusammen setzt.
Ein binäres auslesen klappt zwar prinzipiell, aber ob das Resultat dann stimmt ist auch mehr als schwammig da es viele verschiedene .lnk Formate anscheinend gibt. Ich bin da nicht weiter gekommen. Über die Api ist der einzige zuverlässige Weg. In meinem Programm habe ich nun das GetIcon etwas modifiziert, nur für .lnk Dateien, .url könnte man auch separieren für Extra Icon. Working Path + .exe Name verwende ich, klappt bis jetzt völlig problemlos und man hat nicht dieses typische "Application" Icon von Windows. "Noch" habe ich keine Verknüpfung bei mir entdecken können die ausm 64bit Ordner keinen Working Path setzt. Danke @EWeiss für Icon Display Fix, wobei bei mir kein Unterschied feststellbar ist, muss man Profi sein wie Du :) Ich bau auch meine Methode zum abholen von Icons um, das ![]() ![]() |
AW: Ordnung muss sein (LaunchBar)
Zitat:
![]() Den unterschied musst selbst du erkennen auch wenn du nicht so gut sehen kannst. Wegen dem anderen Problem versuche OTTB auf 64Bit umzulegen funktioniert leider nicht.. ![]() Exe und DLL sind danach 10x größer.. LOL OK wäre mir jetzt mal egal bei der 64BIt Version. gruss |
AW: Ordnung muss sein (LaunchBar)
Size doesnt matter, wurde mir permanent eingeimpft wenn man Tokyo/CE einsetzt muss man mit Leben, schalt am besten Debug aus, spart 6MB oder so :)
Unterschied bei Deinen Screenshots ist selbst mir aufgefallen, nur bei mir selbst achte ich nicht so darauf, Bubble-Style macht alles in schick ^_^ |
AW: Ordnung muss sein (LaunchBar)
Zitat:
denn das Icon wird ja mit unterschiedliche Hintergründen kombiniert und bei allen sah es vorher schlecht aus. Aber gut ;) Ist gefixt. Zitat:
Was soll's. Von 325KB hoch auf fast 4MB nicht nachvollziehbar. gruss |
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 |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Zitat:
|
AW: Ordnung muss sein (LaunchBar)
Zitat:
Es gibt sowas aber auch in gut und fertig. Aber das ist ein anderes Thema. |
AW: Ordnung muss sein (LaunchBar)
64Bit Version hochgeladen viel spaß damit.
Ich habe es nur unter Win7 getestet denke aber sollte auch unter W10 noch laufen. Es war schwierig.. GDI+ ging auf meine alte weise nicht mehr meine GDI+ flat API komplett neu geschrieben. Die GDIPlus.dll wird jetzt dynamisch (vollständig) in den Speicher geladen. OpenFileDialog ging nicht mehr, PoupMenu nicht und, und ,und... In der Summe es waren Tage um das alles umzustellen. ;) :) Das gleiten der Icons ist jetzt abhängig von den Einträgen die vorhanden sind. Sie inkrementieren um das 19 fache. wäre bei 38 = 2 maximale Geschwindigkeit bei 57 Einträgen und mehr ist 3. gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Im Gegensatz zur 32er Version wird auch das Desktop-Icon von "Oracle VM VirtualBox" korrekt angezeigt, prima :thumb: Wieder ein bißchen zu viel grün drin, dann bei den OpenDialogen, sobald ich auf ein Bild klicke: --------------------------- Anwendungsfehler --------------------------- Exception EAccessViolation in Modul GdiPlus.dll bei 0000000000001562. Zugriffsverletzung bei Adresse 00007FFEEDFF1562 in Modul 'GdiPlus.dll'. Schreiben von Adresse 00007FFEF15DD8C8. --------------------------- OK --------------------------- |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Danke für die Infos. Zitat:
gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
|
AW: Ordnung muss sein (LaunchBar)
Zitat:
gruss |
AW: Ordnung muss sein (LaunchBar)
Ja, bei dir geht's, bei mir halt nicht.
Klar, die frame.png und ottb.ske habe ich von der 32er rüberkopiert und/bzw. umbenannt. Dein Desktop erinnert mich sehr an manche Linuxe, ich glaube plank oder conky :wink: |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Wenn du die Anwendung als Admin startest. Es ist auch möglich das du Probleme hast wenn diese nicht im Program Files Ordner liegt. Aber wie gesagt als Admin starten dann sollte es keine Probleme geben habe es getestet. gruss |
AW: Ordnung muss sein (LaunchBar)
Die Exen sind bei mir in D:\OTTB\bin bzw. D:\OTTB64\bin, starten mit Admin-Rechten ändert nichts an der GDI-Fehlermeldung der 64er version :(
|
AW: Ordnung muss sein (LaunchBar)
Zitat:
Ohne Admin habe ich auch einen GDI+ Error warum auch immer mit funktioniert alles. gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
|
AW: Ordnung muss sein (LaunchBar)
Info:
Bei mir funktioniert alles ohne Admin-Rechte (auf Admin Account) und ohne Fehler. |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Mein Problem im Moment habe kein CE auf Win10 installiert. Zitat:
Danke für die Meldungen. gruss |
AW: Ordnung muss sein (LaunchBar)
Liste der Anhänge anzeigen (Anzahl: 2)
Da es keine .config Datei mehr gibt, wo holt Dein Programm Standard Icons her?
Schau mal hier im Anhang, ansonsten ist mir nichts weiter aufgefallen. Doch eine Sache hätte ich noch, könntest Du eventuell die Pfeile die erscheinen sobald man scrollen kann mehr Kontrast geben? Das wäre Klasse! |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Danach erstellst du die Config "Build Config File" Öffne diese mit "Edit Config File" und addiere dort wo die 4 "????" Fragezeichen sind ein Custom Icon aus dem Ordner UserIcon\48x48 "c:\program files\microsoft fix it center\fixitcenter.exe, Microsoft Fix it Center, @PATH@UserIcon\48x48\????.png, @PATH@, , 1" "c:\program files\microsoft fix it center\fixitcenter.exe, Microsoft Fix it Center, @PATH@UserIcon\48x48\MeinCustom.png, @PATH@, , 1" Danach kannst du die Verknüpfung auf dem Desktop löschen. Nach einem "Restart OverTheTaskBar" wird dieses Icon sichtbar. (Nicht mehr als Verknüpfung sondern als Standard) Aber hatte ich das nicht schon x mal hier beschrieben? Zitat:
gruss |
AW: Ordnung muss sein (LaunchBar)
Zitat:
Gruß |
AW: Ordnung muss sein (LaunchBar)
Kleines Update.. besser jetzt als nie.
Wenn die Desktop Icons auf Hide geschaltet werden ließ sich das Desktop Menu nicht mehr aufrufen.
Delphi-Quellcode:
gruss
procedure TCreateIcon.ShowDesktopIcons(bVisible: Bool);
begin gP.ListViewHandle := SKAERO_GetDesktopListView; if gP.ListViewHandle <> 0 then ShowWindow(gP.ListViewHandle, IIF(bVisible, SW_SHOW, SW_HIDE)) else ShowMessage('GetDesktopListView fails, Hide\Show Icons not available'); end; |
AW: Ordnung muss sein (LaunchBar)
Aktuelle FILEVERSION 1,1,4,0. Zwei Jahre später! :)
Kompatibel zu Win10 und höher. Source Inclusive.. Viel Spaß damit oder auch nicht ;) EDIT: Das Extension *.config ist mit Delphi registriert um diese Dateien mit Notepad zu öffnen muß dieses Extension auch damit registriert werden. "Öffen mit" Andere App auswählen.. Notepad -> Immer diese App zum öffnen von config Dateien verwenden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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