Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#29

AW: *.Lnk Verknüpfungen funktionieren nicht.

  Alt 13. Mai 2017, 16:48
Zitat:
denn das Icon wird daraus schon wesentlich früher gelesen, sofern es nicht eh bereits aus dem Iconcache ausgelesen wurde.
Woher willst du das so genau wissen wann ich das Icon einlese?

Zitat:
Was hat das Startmenü damit zu tun? Du gibst ShellExecute einfach direkt die LNK, ist doch kein Problem. Oder übersehe ich was?
Wie ich schon schrieb die Pfade sind nicht nur für die *.lnk Dateien ausgelegt sondern für unterschiedliche.

Es gibt *.URL, *.lnk und User definierte Ausführbare Icons auf der Bar.
Für euch außenstehende ist das kein Problem... ja mach mal eben. Aber ihr kennt den Aufwand nicht der betrieben werden muss
damit das nachher auch alles seine Richtigkeit hat.

Aber gut habe eine Lösung gefunden.

Ich prüfe ob ein Link existiert. If DoLnk >>
dann übergebe ich normalerweise den Target Pfad also den wo sich die Exe befindet.

Delphi-Quellcode:
      if DoLnk then
      begin
        gS[nCount].ShellTo := Lowercase(sTarget); // <<<< Target = 'C:\Windows\Installer\{90160000-0011-0000-1000-0000000FF1CE}Icon.40BB677D.0A7A.4D43.9F72.5AE6F0E9 7EE2.exe'
        gS[nCount].WorkDir := PWideChar(pLnk.WorkDir);
        gS[nCount].CmdLine := PWideChar(pLnk.Arguments);
        gS[nCount].ShowCmd := integer(pLnk.ShowCmd);
        gS[nCount].CtrlName := sTxt;
        gS[nCount].CtrlIndex := nCount;
      end;
      gS[nCount].UseLabel := sTxt;
den ändere ich jetzt um auf

gS[nCount].ShellTo := Lowercase(sFullName); // <<<< 'C:\Users\Gast\Desktop\Word 2016.lnk'

damit sollte das Problem erstmal erledigt sein. (Muss das aber noch überwachen).

gruss
  Mit Zitat antworten Zitat