Read a shortcut

Introduction

The requirement: Read a list of files, returning the target if it's a shortcut

Shortcuts are normal files to the file system, but to the Shell subsystem,
they represent IShellLink objects with a target path and a few other
properties. Since the file system doesn't recognise them as anything
unusual, you have to special-case them if you're iterating over files
in a directory.