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 disagree with the currrent solutions. You'll end up with quite a bit of unreadable code.

A nicer alternative is to wrap the functionality in a custom Windows 7-only DLL. For other systems, provide another version of the DLL that implements the same functions. This can often be a no-op. E.g. a function to set the taskbar extensions would be a no-op on older Windows versions.

The dynamic switching between these DLLs is done by using the delay-load feature of MSVC. You can use a custom hook in your EXE to pick the correct DLL version when the first function in your DLL is called, at which time you know whether you're running on Windows 7.
Yes you can always check for the existence of function within a library at runtime and take suitable actions.
Check the LoadLibrary and GetProcAddress APIs.
<http://msdn.microsoft.com/en-us/library/ms683212(VS.85).aspx>