如何在MFC中获取某线程的运行时间急!

如何在MFC中获取某线程的运行时间急!,第1张

用的是线程函数还是MFC中的线程类?

如果是函数,把一个long型值当线程参数传入(传其地址),然后在线程中对其赋值即可。

int main(int argc,char argv[])

{

long threadTime;

beginthreadex(,threadproc,&threadTime);

//wait for thread quit

//threadTime == 线程的运行时间

}

ulong threadproc(LPVOID param)

{

long plTime = (long)param;

plTime = GetCurrentTime();

return 0;

}

如果是一个类,就直接用类变量就可以了。

因为什么,因为在内核下的运行通常是进程轮询线程是否有任务,时间很短,而在用户下的运行时间通常是用户触发线程的运行,同样通常也是很快就完成,所以楼主这样求得的仅仅是进程实际运行时间,至于创建的时间可以这样求:一种情况是关闭了的,即exittime-starttime(抽象化语言,楼主应该能懂),一种情况是进程未关闭,楼主可获取当前时间再减去创建时间点即可。

用GDI或GDI+自绘,或者是贴图,给你我自己写的万年历工程吧。

把显示页放在选项卡(TabCtrl)中,以后可以在后面扩展更多工具。当然你可以把它改到一个窗口中,那样就不需要选项夹了。

整个日历是靠GDI画出来的,使用双缓冲绘制(MemDC),避免闪屏。显示时,先把要显示的76数组填充完,里面包含日的信息,最后将这些数组显示出来。填充时,需要计算日期的各类信息。计算的详情,可以查看lunarh文件中的描述。

工程中文件详情:

Calendarh和Calendarcpp

应用程序类,向导自动生成,在此类建立是,首先加载dll,然后再显示主对话框

CalendarDlgh和CalendarDlgcpp

对话框类,这是个主对话框类。

CalendarShowDlgh和CalendarShowDlgcpp

这是显示日历的类,显示在主对话框下选项夹的一个子夹中。

类中先处理要显示的日期,存放在一个数组中,然后通过DC绘制到对话框上,依赖类:CMemDC和CYearEdit,另外需要TimeConv类来获取网络时间,

MenDCh和MenDCcpp

双缓冲DC,防止闪屏

SetCalendarh和SetCalendarcpp

这是设置界面,用于日历显示的设置

stdafxh和stdafxcpp

预编译头及源文件(向导生成)

targetverh

向导生成

TimeConvh和TimeConvcpp

取网络时间

YearEdith和YearEditcpp

是CEdit派生的类,用于限定输入的,防止输入走出范围或者其它非法输入。

关于Lunardll的使用,请参照头文件中说明。

首先可以用系统给我们提供的一个定时器,即楼上所说的,用SetTimer去启动一个定时器,然后在OnTimer函数里面,使用API函数GetSystemTime获取当前时间,与你设定的值进行对比,如果符合你设定的值,则让它执行相应的功能,并用KillTimer终止定时器,如有什么不明白的,可以继续追问~~

以上就是关于如何在MFC中获取某线程的运行时间急!全部的内容,包括:如何在MFC中获取某线程的运行时间急!、mfc获取进程运行时间、如何用MFC界面显示一个日历等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10117188.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存