为了不死机(执行其它的操作,如其它界面的显示等),同时不执行Loop 下面的程序,只好如此了。

解决方案 »

  1.   

    DoEvent是交出系统控制权的函数,该函数转让控制权,以便让操作系统处理其它的事件。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。
    小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
    do while .....
    DoEvent
    loop
    之类的语句实现一个比较大的循环,通过DoEvents语句是的程序不至于出现刷新不及时,程序不见响应等问题,更具体的可以看MSDN的帮助和例程,自己写一个程序也可以。
      

  2.   

    看看MSDN不就行了。
    一般用在一个很耗时的语句中,用不想机器看起来象死掉一样,可以用它释放控制权,等后台执行完后即可从此开始继续以后的操作。也就是说,系统处理期间,你是可以做其它事的,包括执行你程序的其它事件(例如取消操作)。但是不能再调用这段代码。Now,Are You Clear?