it took some time, but I got a solution for working with lnk files and sharpshell. As mentioned in
lnk files will be translated into their target path and don't return their actual location (location of the lnk // for my purpose this is bad...).
So a possibility to solve this is to add a direct association to the link with
(by the way AssociationType link would give a good pointer that there are special needs for links)
... so the problem is now to get to know what a link content is now (... maybe link content is needed as well as the link-file itself as information to proceed, but it must be marked as one, else the sharpshell-developer has no choice than to take these entries
Solution is to add in SharpContextMenu.cs in IContextMenu.QueryContextMenu this piece of code to filter it:
if (uFlags.HasFlag(CMF.CMF_VERBSONLY) && this.SettingToFilterIJustInventedHere)
return WinError.MAKE_HRESULT(WinError.SEVERITY_SUCCESS, 0, 0);
Please send me some feedback, I would love to see this in the new release.