dll编程方面很少涉足,只做过简单的就是将某些功能放到dll的一个导出函数中。
目前想做个接口,举个例子:
我想让某个dll(我自己写)从串口不断的取数,解包,然后通知装载它的进程进行处理。
问题是:
如果保持这个dll不停的从串口取数,是不是写个无限循环,在这个无限循环中读串口?
当进程退出时,dll如何知道并从无限循环中跳出?请问我的方法对不对,还有什么其它的方法,请列举一二,谢谢!问题可能比较初级,因为我现在还在入门。
目前想做个接口,举个例子:
我想让某个dll(我自己写)从串口不断的取数,解包,然后通知装载它的进程进行处理。
问题是:
如果保持这个dll不停的从串口取数,是不是写个无限循环,在这个无限循环中读串口?
当进程退出时,dll如何知道并从无限循环中跳出?请问我的方法对不对,还有什么其它的方法,请列举一二,谢谢!问题可能比较初级,因为我现在还在入门。
解决方案 »
- VC调用Matlab生成的COM组件显示图像问题
- 关于WM_NCHITTEST消息处理的问题?
- exe的Com组件向外传递一个com接口遇到0x80020008不正确的变量类型问题
- 请问如何获取列表框中的列名字呀?谢谢!
- 如何获取其它程序的数据?
- 请问怎么锁屏,全屏,用EnableWindow(FALSE)只能锁那个窗口!
- 怎样可以让按钮不响应点击事件?
- 大家快帮忙,注册的时候还是不能把记录保存到数据库中,急,急,急????
- 请问如果想在另一个程序的窗口上绘图,然后让这个图始终保持和该程序窗口中的内容一样的滚动,就象贴上一样?另外,怎样在鼠标划过该图的
- 如何通过vc++实现串口通信
- 运行时类型信息 typeid 的严重问题?(回答一定送分)
- 在MFC的规则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线程,非正常退出
}
}其中使用的具体函数名字和参数什么的记不清了,结构应该没有什么问题吧,你可以尝试一下