Question: I am new to Windows programming and I'm trying to discover the best way to check for the existence of Windows Shell API functions. I want to use some of the new taskbar features in Windows7.

<https://msdn.microsoft.com/en-us/library/dd378460%28VS.85%29.aspx#custom_jump_lists>

But I still want my program to be usable by previous versions of Windows. Is there an easy way to know if the functions are available to be called in the end users system. I'm programming in C++.

Answer: 
I believe MSDN is your best bet for this. Every MSDN page for a function's documentation contains a section in the end which states that which version of Windows support this function.

As an example, Check the doumentation of [GetModuleHandle](http://msdn.microsoft.com/en-us/library/ms683199(VS.85).aspx). This contains a section named **Requirements** under which there is a field **Minimum Supported Client** and **Minimum Supported Server**.

However, if you want to check for the existence of functions dynamically, then you can do this through [LoadLibrary](http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx) and [GetProcAddress](http://msdn.microsoft.com/en-us/library/ms683212(VS.85).aspx).
Use `LoadLibarary` to get library handle and `GerProcAddress` to get pointer to a function. For those functions that are not supported by current OS you will get `ERROR_CALL_NOT_IMPLEMENTED` error from `GetLastError`.