The windows.h error is typical and correct (in bigger abstract sense), so you shouldnt or cant use this header. You need to include the needed headers in an other manner, or define some values yourself.
My advice: Make a wrapper dll without ANY external MFC class in its interfaces and link statically. Use native interfaces as char* or int for data exchange. A bit annoying, but it works.
I wrote an
article for Windows Phone on roughly this topic, so the codeshould give you some insights.