字体
第(3/5)页
关灯
   存书签 书架管理 返回目录
a.hWnd = this->GetSafeHwnd();

    枫叶文学网www.fywxw.com

    第9 章 多线程

    ·249·

    senddata.length = m_SendData.GetLength();

    strcpy(senddata.data, (LPCTSTR)m_SendData);

    senddata.pComm = &m_Comm;

    // 创建发送线程

    CreateThread(NULL, 0, CommSendProc, &senddata, 0, &id);

    }

    (7)关闭串口

    响应“关闭串口”按钮的单击事件,用来关闭串口,代码如下:

    void CSCommDlg::OnCloseCom()

    {

    // TODO: Add your control notification handler code here

    if( m_Comm.GetPortOpen() )

    {

    // 关闭串口

    m_Comm.SetPortOpen(0);

    }

    }

    (8)打开串口

    响应“打开串口”按钮的单击事件,用来打开串口,代码如下:

    void CSCommDlg::OnOpenCom()

    {

    // TODO: Add your control notification handler code here

    if( !m_Comm.GetPortOpen() )

    {

    // 打开串口

    m_Comm.SetPortOpen(1);

    }

    }

    (9)退出

    响应“退出”按钮的单击事件,用来释放资源,退出程序,代码如下:

    void CSCommDlg::OnCancel()

    {

    // TODO: Add extra cleanup here

    // 释放互斥量资源

    ReleaseMutex(g_hMutex);

    // 关闭句柄

    CloseHandle(g_hMutex);

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·250·

    CDialog::OnCancel();

    }

    (10)运行结果

    运行程序后,首先弹出“选择串口参数”对话框,选择需要的串口,如图9-8 所示。

    图9-8 “设置串口参数”对话框

    在程序主界面中,单击“发送”按钮,发送输入框中的内容会出现在另一个程序的接收

    框中,如图9-9 和图9-10 所示。

    为了更加简便,本节仅给出利用多线程串口发送数据的方法,读者若有兴趣可以自行实

    现多线程控制多个串口的功能。

    图9-9 发送窗口 图9-10 接收窗口

    9.4 本章小结

    本章主要介绍Windows cāo作系统下多线程的基本概念,如何创建和管理线程,以及线程
上一页 目录 下一页