开一个模式对话框、创建一个EVENT或MUTEX后,用WAITFORSINGLEOBJECT函数等等都可以做到你的要求,看你的实际情况了。

解决方案 »

  1.   

    阻塞?你说的阻塞指什么?是本线程范围内的“阻塞”(事实上,一个线程范围内那来的什么阻不阻塞!函数调用不结束,它就是不会返回!),本进程范围内的阻塞,还是系统范围内的阻塞?
    对于第一种情况,你试试在OnLButtonDown中加入while(TRUE);,然后点鼠标,看看怎么样;
    对于第二种情况,你在主线程中创建一个Event,将其设为non-signaled,然后在所有线程中WaitForSingleObject(hEvent, INFINITE),看看又会怎么样;
    对于第三种情况,你用flat thunk移入16位代码,然后抱住Win16Mutex不放,看看又会怎么样。当然,由于Win32的抢占式多任务以及Kernel32不是完全依赖Win16Mutex,这不一定会完全使系统瘫痪,但至少在一段时间内,你会发现系统没有了响应。