VB:睡眠API问题
问题描述:
我在powerpoint中创建了一个倒数计时器,并使用了kernel32 sleep API(在ppt中)。 在计时器运行大量时间后退出幻灯片模式(但保持宏运行状态)时,会导致我的Windows桌面完全无法使用并变得完全无法使用(屏幕会变成奇怪的灰色)。桌面偶尔回来并重新开始工作,但是打开IE会导致屏幕再次获取所有的screwey。VB:睡眠API问题
任何想法可能会导致这个问题?定时器代码低于
Do While (TMinus > -1)
'Suspend program execution for 1 second (1000 milliseconds)
Sleep 1000
'set hours, muinutes and seconds left based on number of seconds left (TMinus)
cHour = Int(TMinus/3600)
cMin = Int((TMinus Mod 3600)/60)
cSec = Int((TMinus Mod 3600) Mod 60)
'Change text in Shape 1 (timer) to reflect changed time
.TextFrame.TextRange.Text = Format(TimeSerial(cHour, cMin, cSec), "hh:mm:ss")
'decrement the countdown
TMinus = TMinus - 1
'Refreshes the display
DoEvents
Loop
答
使用DoEvents可能会导致一些相当奇怪的问题。尝试使用计时器而不是睡眠/ DoEvents。
当使用'睡眠'时,'DoEvents'不应该是必需的,因为当你的宏睡眠时'睡眠'控制其他进程。 – 2011-04-06 07:12:15