社区
进程/线程/DLL
帖子详情
如何实现暂停功能?高手们,请啦!
cmsbai
2002-12-28 04:35:01
我在对话框加了两个命令按钮,“开始”和“暂停”
开始按钮对应的响应函数为:OnStart()
CMyDlg::OnStart()
{
while(m_stop!=1) function();
}
暂停按钮对应函数为:
CMyDlg::OnStop()
{
m_stop=1;
}
但是一旦进入OnStart(),系统为该程序分配的CPU资源全被OnStart()幻术函数占用,
无法响应暂停按钮,请高手指点!
送分!!!!!!!!!
...全文
49
12
打赏
收藏
如何实现暂停功能?高手们,请啦!
我在对话框加了两个命令按钮,“开始”和“暂停” 开始按钮对应的响应函数为:OnStart() CMyDlg::OnStart() { while(m_stop!=1) function(); } 暂停按钮对应函数为: CMyDlg::OnStop() { m_stop=1; } 但是一旦进入OnStart(),系统为该程序分配的CPU资源全被OnStart()幻术函数占用, 无法响应暂停按钮,请高手指点! 送分!!!!!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cmsbai
2002-12-31
打赏
举报
回复
MSG msg;
for(;m_bStop==FALSE;)
{
if(PeekMessage(&msg....))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
myfunction();
}
我用这种方法解决了问题,当然引进线程也能很好的解决问题。
不过我加进Sleep(..L)却并不能解决问题。也许是我加进的方法不对,不过我试过n次,都不成功。希望zhaolaoxin能试一下,如果行,请告诉我,谢谢!
zhjb113
2002-12-30
打赏
举报
回复
不要让你的线程总是运行,让它定期查看一下有没有终止的信号
不要sleep
建议看看侯俊杰的win32多线程编程一书
myfunction()
{
这里的功能最好是周期性的。
for(;m_bStop==FALSE;)
{
}
}
foxustc
2002-12-29
打赏
举报
回复
agree with DoItFreely!
这种方法的确好使
MSG msg;
for(;m_bStop==FALSE;)
{
if(PeekMessage(&msg....))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
myfunction();
}
cmsbai
2002-12-29
打赏
举报
回复
是的,我是在做一个同步模拟器(操作系统上机作业),用信号量机制。
有以上高手的指点,我已经解决了那个问题,在这里我谢谢大家。
并且希望多多交流(不过现在我恐怕还没有和大家交流的实力)。
icelight
2002-12-29
打赏
举报
回复
以上只有zhaolaoxin()的答案是对的。楼主的问题与线程无关。
加个::sleep(500)就可以防止系统为该程序分配的CPU资源全被OnStart()函数占用。
qrlvls
2002-12-29
打赏
举报
回复
我想是不是信号量的问题
SuspendThread
ResumeThread ---------- 你是说这个吗
songbird
2002-12-28
打赏
举报
回复
可以将这个线程挂起,将运行优先权交给别的线程
DoItFreely
2002-12-28
打赏
举报
回复
MSG msg;
for(;m_bStop==FALSE;)
{
if(PeekMessage(&msg....))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
myfunction();
}
zzhcom
2002-12-28
打赏
举报
回复
应该将function放到一个线程中去执行!
static CALLBACK void function();
{
while(g_bStop)
yourfunc();
}
再用AfxBeginThread(..)启动线程。
大致是这样
zhaolaoxin
2002-12-28
打赏
举报
回复
CMyDlg::OnStart()
{
while(m_stop!=1)
{
Sleep(500); // new code
function();
}
}
llwwwww
2002-12-28
打赏
举报
回复
把function();
放到Idle()里
cmsbai
2002-12-28
打赏
举报
回复
听说用线程可以解决这个问题,但是不知怎样具体实现。
定时控制迅雷启动、开始任务、
暂停
任务、关闭V2.0
由此也产生了一个疑问,快捷键在Windows中好像不是通过按键消息传递的,是用WM_COMMAND消息传递的,但是在登录状态下却可以通过按键消息
实现
对应的快捷键,有点不理解,还
请
高手
解惑!!! 2、将快捷键控件删除。 3...
Android录音机
从源码中抽取的一款基于Android的录音机,温馨提示:录音机中的
暂停
功能
暂不能用,因为官方的Api没有
实现
录音的
暂停
功能
,
高手
可以在应用中
实现
暂停
功能
吧,我没有作处理。
《拼音
高手
》V1.5源代码
可利用“停止朗读”、“
暂停
朗读”、“继续朗读”等按钮
实现
对朗读的控制。拼音
高手
还可以朗读英文,前提是您必须安装英文语音库。 3、拼音测试。单击顶部“拼音测试”选项卡,软件将转换到拼音测试页面。页面中有...
求大神帮做个音频水印的界面代码已有-音频水印.rar
(1) 具备播放、
暂停
、继续等基本
功能
,可由用户在运行时通过“打开”对话框自行选择音频文件;可以显示时域波形、频谱响应、语谱图等图形;(2)
实现
嵌入水印、提取水印等基本
功能
; 我做的我已经附件传上来了...
扫雷 V0.93 (完整代码)
给自己定个目标,于是就一切以 Windows的扫雷为标准,为了模仿和 测试,我没少玩扫雷,现在俨然一个
高手
了,终于完工了,自认为可以和Windows 的扫雷程序鱼目混珠一番了,不过,当我已经完全
实现
了扫雷的扫雷
功能
后...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章