Nein, so funktioniert es nicht. Die Dateien werden mit Hilfe von "FindFirst/FindNext" ermittelt. Für jede gefundene Datei wird das Symbol ermittelt - was kein Problem ist, denn den Dateinamen hast du ja in dem Fall! Das Problem könnte und wird sein, dass das Symbol nicht erkannt wird, wenn der Pfad nicht stimmt oder nicht vollständig angegeben wurde.
"ShGetFileInfo" funktioniert
IMHO leider nicht mit "Bruchstücken", sprich: bspw. nur dem Dateinamen ohne Pfad. Das hat
IMHO damit zu tun, dass jede Datei (speziell EXE usw.) ihr eigenes Icon haben kann. Also muss die Funktion auch den exakten Namen wissen, damit sie dir Symbol (und ggf. andere Eigenschaften wie Typname o.ä.) zurückliefern kann.