主题:这个怎么做?(关于线程的)本人初学,实在不会……
clrw
[专家分:100] 发布于 2006-07-24 18:09:00
VC++ win32 application工程下编写:
要求在窗口的正中按格式"时:分:秒"实时显示系统时间,每秒显示一次。要求用工作线程来实现,不允许使用定时器。
(不能用MFC,只能用WIN32 API来写)
本人初学,实在不会,谁帮帮忙,谢谢拉!!!
回复列表 (共5个回复)
沙发
aaronwang [专家分:16870] 发布于 2006-07-24 19:40:00
是有一点不会,还是一点都不会?????
板凳
clrw [专家分:100] 发布于 2006-07-25 09:25:00
会一点点
但是用到线程就不知道该怎么做了
3 楼
InitInstance [专家分:8720] 发布于 2006-07-25 11:20:00
case WM_CREATE:
...
HANDLE hthread;
hthread=CreateThread(NULL,0,ThreadProc,(LPVOID)hwnd,0,NULL);//创建一个线程
CloseHandle( hthread);//关闭线程句柄,释放占用的一些资源
...
//下面是线程函数
DWORD WINAPI ThreadProc(
LPVOID lpParameter // thread data
)
{
SYSTEMTIME tm;
char str[50];
while(true)
{
GetLocalTime(&tm);//获取当地时区的时间
sprintf(str,"%d: %d:%d",tm.wHour,tm.wMinute,tm.wSecond);//格式化到str
hdc=GetDC((HWND)lpParameter);//获取DC
SetBkColor(hdc,RGB(255, 255,245));
TextOut(hdc,5,100,str,strlen(str));//显示到窗口上
ReleaseDC((HWND)lpParameter,hdc);//释放DC
Sleep(1000);
}
return 0;
}
这个问题建议还是用定时器来触发,定时1秒,那就相当准确了。
4 楼
clrw [专家分:100] 发布于 2006-07-25 15:22:00
恩
我来试试
谢谢你哦
5 楼
clrw [专家分:100] 发布于 2006-07-25 15:40:00
恩
出来了
真的谢谢你
我做了2天了都没做出来
我来回复