even use SendThreadMessage, the unfocus event is processed before the ACTION_GESTURE_END. they are in different event queue. then the only way do that correctly is in CWinEvents do it like before. 
But, I found not all time unfocus is expected ui reaction. so the question is, why we need the unfocus? is it always needed?