您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> vc线程小问题

vc线程小问题

来源:网络整理     时间:2016/8/16 16:38:49     关键词:

关于网友提出的“ vc线程小问题”问题疑问,本网通过在网上对“ vc线程小问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: vc线程小问题
描述:

想做一个暂停按钮!创建线程的时候是这样做的:

UpdateData();
m_uLogcon = m_ucon; //m_ucon是这个对话框的变量  m_uLogcon是一个全局变量
if (m_bsetser && m_uLogcon >= 0)                 //m_bsetser和m_uLogcon是两个标志
{
hThread=CreateThread(NULL,     //线程是这样创建的
0,
(LPTHREAD_START_ROUTINE)ThreadReadLog,
(VOID*)&m_com,                     //传递一个值
0,
&ThreadID);
}
else
{
if (!m_bsetser && m_uLogcon < 0)
MessageBox("串口未打开!");
else if (m_uLogcon < 0)
MessageBox("记录数不能为零!");
}

暂停按钮的响应函数:
void CReadLogDlg::OnButton2() 
{
// TODO: Add your control notification handler code here
if (m_bstop == false)
{
SuspendThread(ThreadReadLog);
m_bstop = true;
SetDlgItemText(IDC_BUTTON2,_T("继续"));
}
else
{
m_bstop = false;
ResumeThread(ThreadReadLog);
SetDlgItemText(IDC_BUTTON2,_T("暂停"));
}
}

程序运行正常  就是不能暂停!!!不知道是不是我的那里错了!
解决方案1:

我汗 这种代码都能编译... 
DWORD ResumeThread(
  HANDLE hThread   // handle to thread
);
传递的是HANDLE  不是HANDLE *

解决方案2:

暂停/恢复线程的参数是句柄  也就是创建线程时候的hThread  需要保存这个句柄 


以上介绍了“ vc线程小问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3330613.html

相关图片

相关文章