我现在有两个按纽,其中一个按纽1里开了一个socket线程,现在我想通过在另外一个按纽里也就是按纽2中关掉在第一个按纽里开的那个线程并且把socket也要关掉啊,怎么做呢?有没有好的方法呢?

解决方案 »

  1.   

    用什么消息??
    设置一个BOOL变量,判断一下就可以
      

  2.   

    在button父类中定义:
    BOOL m_bIsSocketOk;
    HANDEL   m_HandleThread;//保存线程句柄
    CXXXX::Button2Click()
    {
      int iCloseState;  if(m_HandleThread != NULL)
      { 
        if(m_bIsSocketOk == TRUE)
        {
          iCloseState = closesocket(m_socket);
          if(iClose == 0)
          {
           WSACleanup();
          }    
        }
        ::TerminateThread(m_HandleThread, 0);
        ::CloseHandle(m_HandleThread);
      }
    }
      

  3.   

    通过状态的记录和判断,你都可以用一个按钮来实现socket的打开和开线程,以及关闭退出。
      

  4.   

    在button父类中定义是在哪个文件里呢?再哪里定义BOOL m_bIsSocketOk;
    HANDEL   m_HandleThread两个变量呢?望详细告之我一下啊,谢谢了哦
      

  5.   

    m_bIsSocketOk == TRUE,在这句话中没有对m_bIsSocketOk 赋初值怎么比较呢?
      

  6.   

    m_bIsSocketOk是当你按下button1后,如果连接socket成功就设置为true