VC中怎么进行较长时间的精确计时

VC中如何进行较长时间的精确计时?
我想计算一个循环的时间开销(大概耗时至少10秒,其间发送多条消息),需要精确到毫秒级,试过GetTickCount和QueryPerformanceCounter两种方法,但它们在这个时间长度上的误差都太大了,请问有什么更好的方法吗?

------解决方案--------------------
QueryPerformanceCounter是很准的.你的代码是SendMessage()函数自身的误差.
------解决方案--------------------
sendmessage返回的时间是不固定的
------解决方案--------------------
sendmessage需要等待该条消息执行完毕才会返回,应该首先看看你都执行了哪些消息。