The Win32 shell lightweight utility API (
shlwapi.dll) is a cornucopia of useful functions. It appears to be Microsoft’s “dumping ground” for functions without a better home. (I believe Microsoft internal DLL ownership also played a part.) Had I known about
shlwapi years ago, it would have saved me considerable programming effort.
Particularly useful are
SHCreateStreamOnFile, the path family of functions (e.g.
PathCombine), and the registry family of functions (e.g.
However, it appears that Microsoft is slowly moving functionality out of
shlwapi into other places. For example, many of
shlwapi’s string handling functions have better-designed replacements in Microsoft’s safe string library
SHRegGetValue has been deprecated in favor of
Be sure to look at all the functionality
shlwapi provides — you may find a hidden gem of your own!