The explanation from TC author I got in emails:
Possible solutions to get per-file icons in TC are welcome, because per file icons would make it much easier to work with many url files.Christian Ghisler wrote:Total Commander does NOT use iconhandler [defined for association in Registry] when there is a DefaultIcon entry, unless it is set to %1 or "%1". This is intentional to speed up loading of icons.
[So] TC currently only gets per file icons if the DefaultIcon is set to %1 [in Registry or in TC via Files - Associate - Edit type - Change icon]. However, even if I set this to %1 for URL files, Windows
always returns the default icon to Total Commander.
The current workaround I use is the opensource NTFS FileStreams (v2) FS-plugin by ProgMan13.
It shows url files as folders, and shows the url icons for such folders (as well as inner ::$DATA files) if url file has custom icon.
To launch the url file from plugin, I'm starting the ::$DATA file (located inside url folder) using either Enter key or mouse doubleclick.
This workaround, however, has some limitations because of its FS-plugin nature: currently it's not possible to start that ::$DATA file from TC's command line or button bar using a command like this one:
"\\\NTFS - streams\$%Favorites%\SomeInternetShortcut.url\::$DATA"
TC also currently doesn't show the per file icon (showed in by plugin in TC filelist) for the button if such path is used in button's Icon path.