在运用了DOLOOP时,CPU的占用很高~都100%~~
很简单的代码,如:
do
doevents
if text1.text="ok" then
text2.text="textok!"
else
.....
endif
loop until text3.text="over"为什么这样会使得CPU占用那么高呢?
do 后加doevents 可以让窗口有响应~不至于呆死~
但怎么样才能解决CPU占用不是100%呢??
很简单的代码,如:
do
doevents
if text1.text="ok" then
text2.text="textok!"
else
.....
endif
loop until text3.text="over"为什么这样会使得CPU占用那么高呢?
do 后加doevents 可以让窗口有响应~不至于呆死~
但怎么样才能解决CPU占用不是100%呢??
用TextBox的 Change 或 LostFocus 事件不能实现吗?
如:
private sub text3_change()
if text1.text="ok" then
text2.text="textok!"
else
.....
endif
end sub
if text1.text="ok" and IfTex3Ok=false Then
text2.text="textok!"
... ...
else
... ...
end if
End Sub
Private Sub Text3_Change()
if text3.text<>"over" then
IfTex3Ok=true
... ...
exit sub
else
IfTex3Ok=false
... ...
end if
End Sub
你能保证你写的代码不会出现低级错误吗?
要用break退出才可以的丫
只要有程序运行,CPU利用率绝对是100%(除非用汇编不断给CPU发送休眠指令)。
你到底是要做什么?
你是不是想使自己的程序少占一点CPU资源?
这好办,用SetThreadPriority设置线程优先级:
SetThreadPriority GetCurrentThread(),THREAD_PRIORITY_LOWEST '如果你够慷慨的话,用THREAD_PRIORITY_IDLE