AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Ordnung muss sein (LaunchBar)
Thema durchsuchen
Ansicht
Themen-Optionen

Ordnung muss sein (LaunchBar)

Ein Thema von EWeiss · begonnen am 17. Mai 2017 · letzter Beitrag vom 14. Nov 2021
Antwort Antwort
Seite 24 von 32   « Erste     14222324 2526     Letzte »    
EWeiss
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 05:47 Uhr)
 
EWeiss
 
#231
  Alt 16. Aug 2018, 04:04
Zitat:
Ich habe Post #1 geladen, wollte nun das Cleanup Config file ausprobieren, da ist anscheinend der gleiche Fix nötig wie beim Bitmap Dialog.
Werde ich mir morgen.. Nachher anschauen.
Muss eh noch einiges ändern das mit dem Icon (Set OnTop) gefällt mir nicht das es immer sichtbar ist.

Probleme behoben siehe Upload post 1#

Zitat:
Bei einem hat OTTB Probleme, habe den betreffenden Desktop ShortCut über OTTB geparkt und die Dateieigenschaften samt Symbol-Fenster offen.
Die Pfade existieren.

Kannst Du Dir darauf einen Reim machen?
Ja kann ich..
Weil einige *.lnk Dateien auf den Ordner
'C:\Windows\Installer\' verzweigen.
Warum das so ist und wie ich das beheben kann habe ich noch nicht herausgefunden.

bsp. In der Verknüpfung steht
Ziel: "C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\Uedit32.exe"
Ausführen in "C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\"

Der Target Path ist aber
'C:\Windows\Installer\{DDF17E28-E4C4-41CF-9DB9-8FA5F19B918C}\IconD7A33067.exe'

Das Resultat ist dann das ich ein falsches bzw.. das Installer Icon geliefert bekomme.
Wie gesagt ich weis nicht warum Windows das macht und wie ich das verhindern kann.

Hier ist das Problem beschrieben

Der beste weg eine Verknüpfung zu erstellen ist dieser.
Geht zum Ordner wo sich die Exe befindet klick mit der rechten Maustaste drauf und verwende im Menu Senden an Desktop (Verknüpfung)

gruss

Geändert von EWeiss (16. Aug 2018 um 06:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 11 Alexandria
 
#232
  Alt 16. Aug 2018, 06:34
Falls ich dennoch einmal meinen Wunsch wiederholen darf, mit OnTop, da wünsche ich mir ne mini-Checkbox mittig/unten im OTTB für Quick On/Off OnTop, ohne Menu/Config/Umwege, direkt als Quicky sofort Erreichbar.
Wäre da nicht ein globaler Shortcut sinnvoller, der die Leiste schlicht nach oben holt?
Sebastian Jänicke
  Mit Zitat antworten Zitat
EWeiss
 
#233
  Alt 16. Aug 2018, 06:39
Falls ich dennoch einmal meinen Wunsch wiederholen darf, mit OnTop, da wünsche ich mir ne mini-Checkbox mittig/unten im OTTB für Quick On/Off OnTop, ohne Menu/Config/Umwege, direkt als Quicky sofort Erreichbar.
Wäre da nicht ein globaler Shortcut sinnvoller, der die Leiste schlicht nach oben holt?
Theoretisch.. bzw. Wäre eine Alternative.
Aber ich habe es schon fertig

Und das Bitmap ist nur sichtbar wenn man mit der Maus über die Leiste fährt.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 11 Alexandria
 
#234
  Alt 16. Aug 2018, 06:44
Wie gesagt ich weis nicht warum Windows das macht und wie ich das verhindern kann.
Das wird doch unter deinem eigenen Link sehr gut beschrieben.
Zitat:
Advertised shortcuts allow installer authors to install only portions of their application and then install additional pieces when they are accessed via the advertised shortcut. Windows Installer also automatically checks the integrity of all of the installed files each time the application is run so you can be sure the application is valid when it is run.
Entscheidend ist daher, dass diese Anwendungen auch genau so ausgeführt werden und nicht über einen anderen Weg wie einem neuen Shortcut auf die Exe direkt.

Ich hatte aber auch noch nie ein Problem damit diese Links per ShellExecute auszuführen oder mit SHGetFileInfo ein Handle zu dem richtigen Icon zu bekommen (z.B. bei Word und Excel).

// EDIT:
Beispiel:
Delphi-Quellcode:
var
  ShFileInfo: TSHFileInfo;
begin
  SHGetFileInfo('C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Excel 2010.lnk', 0, ShFileInfo, SizeOf(TSHFILEINFO), SHGFI_ICON);
  Image1.Picture.Icon.Handle := ShFileInfo.hIcon;
end;
Sebastian Jänicke

Geändert von jaenicke (16. Aug 2018 um 06:47 Uhr)
  Mit Zitat antworten Zitat
EWeiss
 
#235
  Alt 16. Aug 2018, 06:45
Zitat:
oder mit SHGetFileInfo ein Handle zu dem richtigen Icon zu bekommen.
Ich bekomme aber das vom Installer warum auch immer.
Selber habe ich keinen Einfluss darauf wie Anwendungen ihre ShortCuts bzw.. Links erstellen.
Siehe Anhang als Beispiel.

Von der Anwendung bekomme ich das Icon vom Installer zurück geliefert.
Delphi-Quellcode:
procedure TWin32ShortCut.LoadShortCut(LnkName: WideString);
var
  FP: array[0..MAX_PATH * 2] of Char;
  pfd: TWin32FindDataW;
  showval: integer;
  psfi: TSHFileInfo;
begin
  ClearValues;
  FPersistFile.Load(PWideChar(LnkName), 0);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetPath(FP, Sizeof(FP), pfd, 0);
  FAppPath := String(FP);

  FShellLink.GetIDList(Fpidl);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetWorkingDirectory(FP, Sizeof(FP));
  FWorkDirectory := String(FP);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetArguments(FP, Sizeof(FP));
  FArguments := String(FP);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetDescription(FP, Sizeof(FP));
  FDescription := String(FP);

  FShellLink.GetShowCmd(showval);
  FShowCmd := cvtTShowType(showval);

  FShellLink.GetHotkey(FHotKey);
  HotKeyToShortCut(FHotKey, FHotKeyCtrl);


  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetIconLocation(FP, Sizeof(FP), FIconIndex); // <<<<< und zwar hier FP
  FIconPath := String(FP);

  if FIconPath = 'then
    begin
      SHGetFileInfo(PChar(FAppPath), 0, psfi, sizeof(psfi), SHGFI_ICON);
      FIcon.Handle := psfi.hIcon;
    end
  else
    FIcon.Handle := ExtractIcon(hInstance, PChar(FIconPath), FIconIndex);
end;
Zitat:
Ich hatte aber auch noch nie ein Problem damit diese Links per ShellExecute auszuführen
Es geht nicht um die Ausführung da habe ich auch kein Problem sondern um das auffinden des richtigen Pfades incl. des Icon.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 11 Alexandria
 
#236
  Alt 16. Aug 2018, 06:58
Ich würde gar nicht erst GetIconLocation + ExtractIcon benutzen. SHGetFileInfo funktioniert (zumindest in allen Fällen, in denen ich es bisher genutzt und getestet habe) immer, egal was das für ein Shortcut oder was für eine andere Datei ist.
Sebastian Jänicke
  Mit Zitat antworten Zitat
EWeiss
 
#237
  Alt 16. Aug 2018, 06:59
Ich würde gar nicht erst GetIconLocation + ExtractIcon benutzen. SHGetFileInfo funktioniert (zumindest in allen Fällen, in denen ich es bisher genutzt und getestet habe) immer, egal was das für ein Shortcut oder was für eine andere Datei ist.
Du meinst als nur deine Methode?
SHGetFileInfo('C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Excel 2010.lnk', 0, ShFileInfo, SizeOf(TSHFILEINFO), SHGFI_ICON);

Hmmm.. muss ich mal testen.

EDIT:
Nein Funktioniert nicht. Siehe Pic!
Immer der Installer Pfad.

Auch wenn ich den LinkName direkt angebe
SHGetFileInfo(PChar(LnkName), 0, psfi, sizeof(psfi), SHGFI_ICON);

Bekomme ich das Installer Icon.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 11 Alexandria
 
#238
  Alt 16. Aug 2018, 08:47
Auch wenn ich den LinkName direkt angebe
SHGetFileInfo(PChar(LnkName), 0, psfi, sizeof(psfi), SHGFI_ICON); Bekomme ich das Installer Icon.
Komisch. Damit liest der Windows Explorer das Icon aber selbst aus (und zeigt es ja vermutlich richtig an).
Egal bei welcher .lnk Datei ich das teste, es klappt, wenn ich die direkt dort angebe.
Sebastian Jänicke
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

 
Delphi 11 Alexandria
 
#239
  Alt 16. Aug 2018, 09:33
Vielen Dank und Guten Morgen Emil,

ich wollte Dich nur rasch Wissen lassen das die "Cleanup" Fenster nun allesamt bei mir ihr Werk ohne Probleme verrichten!

edit
Falls ich dennoch einmal meinen Wunsch wiederholen darf, mit OnTop, da wünsche ich mir ne mini-Checkbox mittig/unten im OTTB für Quick On/Off OnTop, ohne Menu/Config/Umwege, direkt als Quicky sofort Erreichbar.
Wäre da nicht ein globaler Shortcut sinnvoller, der die Leiste schlicht nach oben holt?
Für mich, der oft Tastatur weg lässt, ist die Lösung von Emil perfekt umgesetzt.
Ein TaskBar Icon könnte ich mir noch als Alternative vorstellen.

Geändert von KodeZwerg (16. Aug 2018 um 09:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 12 Athens
 
#240
  Alt 16. Aug 2018, 11:49
Windows 10 Pro (Version 1803 [Build 17134.228]

Hab OTTB.zip in meinem Download Ordner entpackt und von dort aus ausgeführt. Funktioniert ohne Fehlermeldung und sieht gefällig aus.
Ich brauche es allerdings nicht und habs wieder geschlossen und gelöscht.

Schöne Arbeit aber!

Sherlock
Oliver
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 24 von 32   « Erste     14222324 2526     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz