社区
进程/线程/DLL
帖子详情
在ATL的线程中如何调用接口的函数?
naile
2002-09-24 11:08:40
在MFC中一个线程要启动一个类的函数可以用SendMessage(该类的句并,...)发送信号,类中回调函数接受到相应信号后启动函数的方法.
但在ATL中可否用这种方法,如可用,那么句并该如何取得?回调函数又如何调用?如不可用,又有什么好的方法实现以上功能?
...全文
79
2
打赏
收藏
在ATL的线程中如何调用接口的函数?
在MFC中一个线程要启动一个类的函数可以用SendMessage(该类的句并,...)发送信号,类中回调函数接受到相应信号后启动函数的方法. 但在ATL中可否用这种方法,如可用,那么句并该如何取得?回调函数又如何调用?如不可用,又有什么好的方法实现以上功能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oldworm
2002-09-24
打赏
举报
回复
以上代码记得要#include <process.h>
oldworm
2002-09-24
打赏
举报
回复
线程定义一般模式如下:
class CRawThread
{
private:
...
public:
...
friend unsigned __stdcall _raw_thread_function(void *param);
//将线程函数定义为这个类的友元函数,避免线程内部访问类的私有元素的时候出现错误。
};
unsigned __stdcall _raw_thread_function(void *param)
{
CRawThread *pThis = (CRawThread *)param; //这里将参数转换为原来的类型
IPHEADER *pip;
char buf[2048];
//------------------------------------------------------------------------
if(pThis->CreateSocket())
{
while(1)
{
if(WaitForSingleObject(pThis->m_hExitThread, 0) == WAIT_OBJECT_0)
{
ResetEvent(pThis->m_hExitThread);
goto EXIT_THREAD_0;
}
......
Sleep(30);
}
}
//------------------------------------------------------------------------
EXIT_THREAD_0:
pThis->CleanSocket();
SetEvent(pThis->m_hExitThreadOk);
_endthreadex(0);
return 0;
}
BOOL CRawThread::StartThread()
{
if(m_hThread == NULL){
//如果线程没有启动,启动线程
m_hThread = (HANDLE)_beginthreadex(
NULL,
0,
_raw_thread_function,
this, //这里传递参数
0,
&m_uThreadId);
return (m_hThread != NULL);
}
return TRUE;
}
ATL
_COM组件开发,多
线程
中
应用连接点传递消息实例
本程序使用的是
ATL
-COM支持连接点的模式。其
中
反映了Observer的支持。使用多
线程
调用
Fire
函数
。
线程
委托库C++源码(内置多
线程
浏览器实现)
线程
委托的概念主要是在任意
线程
中
委托其他
线程
执行代码,例如
调用
一个API
函数
,或者
调用
一个对象的成员
函数
。 源码使用了C++模板库,内部采用
ATL
实现。使用时只需关注压缩文件
中
的Raptor.h文件,这是封装好的类,...
使用WTL进行Windows桌面应用开发-第一部
基于Windows平台的
ATL
/WTL桌面应用程序开发. 使用C/C++作为开发语言, 开发Windows本地桌面程序. WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。 适合
中
小型公司开发...
深入解析
ATL
(第2版).pdf
四位顶尖的Windows编程专家在本书
中
系统地揭示了
ATL
的内部工作原理,他们解释了
ATL
是 如何工作的,以及为什么要以这样的方式工作。通过本书,客户端开发人员可以掌握
ATL
中
的窗口、COM控件、MFC集成、Web服务代理...
用VS2008
ATL
开发可以显示Gif的ActiveX控件源码.rar
弹出的对话框
中
选择DLL服务器(可选允许合并代理存根,这样不会产生代理dll),完成后编译,这样工程框架就完成了。 组件分有窗口的和无窗口的,这里应该用有窗口的,所以添加组件的时候,外观不要基于none,最好...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章