If including Windows.h creates a problem for you, then use those functions without including Windows.h
Just call
LoadLibrary
and then
GetProcAddress
to load up the function and then call it, that'd be the simplest solution, like shown below...
typedef DWORD (CALLBACK* LP_GFPNBH)(HANDLE, LPTSTR, DWORD, DWORD);
HMODULE hModule = ::LoadLibrary("Kernel32.dll");
LP_GFPNBH func = (LP_GFPNBH)::GetProcAddress(hModule, "GetFinalPathNameByHandle");
func(...parameters...);