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
IExtractIcon interface will ich benutzen anstelle
SHGetFileInfoA.