我编写了一个MFC程序。
    我想实现这样的一个功能:当函数做到某一步时停下来,等待用户单击某个按钮后,再回到原来的地方继续执行!    我的函数涉及到第归调用,没有办法用代码来保存断点,不能拆分。(反正我是做不到将这个函数砍开几段执行)    有没有相关的API函数可以调用?如果没有,有没有其他方法实现这个功能

解决方案 »

  1.   

    你可以把这个函数设计成一个线程函数,当你需要停止该函数的时候调用SuspendThread函数来挂起该线程,在你所描述的按钮函数中调用ResumeThread函数来使挂起的线程继续执行
    DWORD ResumeThread(
      HANDLE hThread   // handle to thread
    );
    DWORD SuspendThread(
      HANDLE hThread   // handle to thread
    );另一种方法是定义一个全局的Event对象,在你的函数中需要停止的地方使用WaitForSingleObject(hEvent,INFINITE)来等待该Event对象,这时该函数就停止在WaitForSingleObject函数处,然后在你的按钮函数中调用SetEvent(hEvent)函数将Event对象设置成激发状态,这样WaitForSingleObject函数就会返回,函数从WaitForSingleObject函数处继续往下执行
    思路就是这样,希望对你有所帮助!