CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

如何做一个在后台一直运行的dll,直到装载它的进程退出。

楼主yang79tao()2005-02-04 19:56:54 在 VC/MFC / 进程/线程/DLL 提问

dll编程方面很少涉足,只做过简单的就是将某些功能放到dll的一个导出函数中。  
  目前想做个接口,举个例子:  
  我想让某个dll(我自己写)从串口不断的取数,解包,然后通知装载它的进程进行处理。  
  问题是:  
  如果保持这个dll不停的从串口取数,是不是写个无限循环,在这个无限循环中读串口?  
  当进程退出时,dll如何知道并从无限循环中跳出?  
   
  请问我的方法对不对,还有什么其它的方法,请列举一二,谢谢!  
   
  问题可能比较初级,因为我现在还在入门。 问题点数:30、回复次数:5Top

1 楼arkuka()回复于 2005-02-04 22:25:04 得分 15

让DLL线程在每次循环之前去判断主线程中的一个标记即可,主线程在退出前设置标记位,然后等待DLL线程的退出信号,DLL线程在下次循环开始的时候判断主线程的标记,并在退出前向主线程发信号,注意,主线程的等待要有超时,否则比较危险。  
  DLL:  
        ThreadProc()  
      {  
              CreateEvent("exit   event");  
   
              while(pHost->m_bContinue)  
              {  
                        Do();  
              }  
              SetEvent("exit   event");  
        }  
   
  Main:  
          OnExit()  
          {  
                m_bContinue   =   FALSE;  
                if(WaitForSingleObject("exit   event",m_nWaitExitDur)   ==   object_0)  
                {  
                        //正常退出  
                  }  
                  else  
                  {  
                      //强行结束DLL线程,非正常退出  
                    }                
            }  
   
  其中使用的具体函数名字和参数什么的记不清了,结构应该没有什么问题吧,你可以尝试一下Top

2 楼alphapiao(奉旨灌水钦差)回复于 2005-02-05 10:34:30 得分 5

可以在dll写一个退出函数,主线程要dll退出时调用一下它就行了.  
  Top

3 楼Rogeremail(绿色环保-菜青虫)回复于 2005-02-07 15:21:20 得分 5

我觉得直接把DLL插到一个系统进程或写个服务来装载DLL要“正宗”些,当然要在win2k以上.Top

4 楼Rogeremail(绿色环保-菜青虫)回复于 2005-02-07 15:23:29 得分 0

不好意思,上一贴发错地方了…Top

5 楼wangjia184(我就是传说中的。。。。。。SB)回复于 2005-02-12 15:26:58 得分 5

做成COM吧Top

相关问题

  • 请教进程装载和进程空间的问题
  • 怎样立即结束后台进程
  • WebBrowser控件后台装载页面的问题
  • 如何编写后台进程或线程
  • 怎样实现热键激活后台进程??
  • 怎样取得后台进程得状态在线等待!!!!
  • 如何结束数据库的后台进程?
  • 关于后台服务中的进程间通讯问题
  • daemon打起的C后台进程,怎么看标准输出?
  • 退出终端,后台进程就消失,咋回事?

关键词

  • 循环
  • 函数
  • 线程
  • 无限
  • dll
  • 退出
  • 装载
  • 进程
  • 主线程
  • 串口

得分解答快速导航

  • 帖主:yang79tao
  • arkuka
  • alphapiao
  • Rogeremail
  • wangjia184

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo