把进程和线程的优先级设为最高,再用GetTickCount

解决方案 »

  1.   

    感谢您使用微软产品。在Windows NT/2000/XP中,您可以使用GetProcessTimes精确地得到您的算法所占用的CPU时间。
    GetProcessTimes可以分别得到进程用于执行操作系统代码的时间和执行应用程序代码所用的时间,这两者之和就是您的算法所占用的CPU时间。
    关于GetProcessTimes的具体使用方法您可以参考
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/prothred_2ckz.asp值得注意的是GetProcessTimes返回的是指定进程中所有线程所用的时间,如果您使用了多线程,您可以通过GetThreadTimes得到每个线程占用的CPU时间。
    关于GetThreadTimes的使用帮助,您可以参考
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/prothred_7z8z.asp- 微软全球技术中心 VC技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  2.   

    BOOL QueryPerformanceCounter(
      LARGE_INTEGER *lpPerformanceCount   // counter value
    );
    BOOL QueryPerformanceFrequency(
      LARGE_INTEGER *lpFrequency   // current frequency
    );
    这两个函数可以实现微秒级的计数,其实用法跟GetTickCount()差不多,也是
    获取两个系统时间数然后相减,最后除以系统cpu频率得到时间,自己看看msdn,很精确的。
      

  3.   


    只需要人民币20元,你就可以获得本灌水机的程序和Visual C++源代码,并获得永久性技术支持。还等什么?灌水等着你!就在今夜!元宵佳节!(可怜我的信誉)
      

  4.   

    To: dct1999(宇宙天空) 你的方法好像还是不能排除其他进程的干扰!
    还是acptvc(微软全球技术中心 VC技术支持)厉害,太感谢了!!!
    结账,给分!!