很简单的一个定时器,win7下总出现“未响应”,xp下没问题。
用vc做一个很简单的程序,基于对话框,在OnInitDialog()中添加了一个定时器:
然后在定时器函数OnTimer 里添加如下代码:
功能很简单,就是在对话框里不断显示数字,从0到99, 但显示到30多的时候,就会出现”未响应“的假死状态,没有反应 ,等一会就可以了。如图所示:
在WIn7 下出现此问题,在XP下没有此问题。大家说说是什么原因呢?
用vc做一个很简单的程序,基于对话框,在OnInitDialog()中添加了一个定时器:
1
|
SetTimer(1,100,NULL);
|
然后在定时器函数OnTimer 里添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
void
CTest2Dlg::OnTimer(
UINT
nIDEvent)
{
if
(1==nIDEvent)
{
KillTimer(1);
CDC *pdc = GetDC();
for
(
int
i=0;i<100;i++)
{
CString str;
str.Format(
"%d"
,i);
pdc->TextOut(20,20, str);
Sleep(100);
}
ReleaseDC(pdc);
AfxMessageBox(
"over"
);
}
CDialog::OnTimer(nIDEvent);
}
|
功能很简单,就是在对话框里不断显示数字,从0到99, 但显示到30多的时候,就会出现”未响应“的假死状态,没有反应 ,等一会就可以了。如图所示:
在WIn7 下出现此问题,在XP下没有此问题。大家说说是什么原因呢?