There are actually at least 7 functions that do this. Raymond skipped shlwapi and ntdll: https://windowssucks.wordpress.com/2015/10/21/uuidiidshclsidguidfromstring/
Jun 30, 2016 at 7:20AM
Project Centennial": Converting your Classic Windows App (Win32, .Net, COM) to a Universal Windows App for Distribution in the Windows StoreMay 01, 2015 at 2:09PM
Will the appx manifest allow you to opt-in to run in the app-container 100% of the time?
Will I as a user be able to force apps to always run in the app-container and restrict its permissions so I can deny internet access etc? Please don't fall into the Android trap here, this is your only chance to give users control over their own machine!
You are not supposed to perform WM_SYSCOMMANDs by posting a message to HWND_BROADCAST, see Fumbling around in the dark and stumbling across the wrong solution. You should send the message to a single HWND that you own or call DefWindowProc directly...
@Joseph Hatfield: Yes, setting WINVER target can break down-level platforms since it changes struct sizes etc, so if you do sizeof(structvarname) in your code, it will break. You could maybe try to #include the COM headers with a different WINVER. Or be careful and only use the size constants like NOTIFYICONDATA_V1_SIZE.
Too bad MS did not opt for a min and max version solution when they moved to the NTDDI defines.