Missing windows includes and added prepocessor windows check