通过结构体传递参数给线程。
目的:在一个对话框中,点击按钮启动多个线程调用外部的程序(批处理) ,获取返回值后,将结果依次更新到多个Edit控件
思路 : 通过包含控件信息的一个结构体传递参数给线程,在线程函数中控制控件的数据更新。
步骤 :
1.在对话框类的头文件XXXDlg.h中建立一个结构体, 包括指向控件的指针。
struct threadInfo{
CEdit *pEdit1_1;
}
接着,申明线程函数:
UINT ThreadFunc(LPVOID lpParam);
注意,以上二者应在类CXXXDlg的外部。
2. 在XXXDlg.cpp文件中定义公共变量: (全局变量 )
threadInfo mThreadInfo;
3. 在按钮的消息处理函数中,创建线程,调用线程函数。
//(1)设置threadInfo的实例的值.
mThreadInfo.pEdit1_1=&edit1_1; //指向edit控件
//(2)启动一个线程
CWinThread *pThread=AfxBeginThread(
threadFunc,
&mThreadInfo,
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENDED
);
pThread->ResumeThread();
//(3)在类外部添加线程处理函数
UINT ThreadFunc(LPVOID lpParam)
{
threadInfo *pInfo=(threadInfo*)lpParam; //指向结构体的实例。
//调用批处理处理函数,并且将返回的结果(CString)显示到edit 控件中。
pInfo->pEdit1_1->SetWindowText(doCheck(batFilePath));
return 0;
}
分享到:
相关推荐
mfc ActiveX 结构体数组的传递
VB和VC 结构体Dll参数传递,VB中的结构体作为参数,传递VC中的结构体dll
工程源码包含字典/队列/栈/结构体/列表/枚举的功能介绍及各语法的使用及代码示例,制作不易,适合初学者,也适合老手查漏补缺知识点
易语言获取“TEB/PEB”结构体成员值数据。@Zoom。
通过改变全局变量实时改变目标变量的做法,比如这里,楼主也就是我,为了在树莓派上运行一个tcp结构的客户端线程,并通过摄像头线程收集的数据实时的通过tcp客户端线程处理并发回服务端(这是只对两个线程间的数据传递,多...
JNA 复杂结构体传递 结构体数组,结构体指针 查询很多资料才整合!
多线程及消息发送传递结构体参数
C++结构体参数与结构体指针参数区别Demo(资源包括C++源程序和编译好的exe文件)
MFC用结构体制作的学生管理系统 MFC作品~
关于C/C++的结构体说明,一些常用的插入,删除方法
简介:由于要开发一个软件,其中用com在VB与VC间传递结构体数组,在网上找了很久没有成功,后来在国外一网站找到了,并且按照其中的关键步骤操作成功了。由于原文是英文的,没有精力去翻译,于是用网页翻译了...
c++调用dll ,指针结构体参数传递,--改造了csdn 上的一个程序。
struct Person //定义结构体Person,其中包含所需的各类信息 { char name[20]; //姓名 char phone[20]; //电话号码 char address[20]; //地址 char email[20]; //邮箱 char qq[20]; //QQ号 char fetion[20]; ...
VB调用VC 生成的dll里面的参数传递为结构体。
最近由于用到这部分内容所以到网上收集了一下,希望能给有需要的朋友给予帮助。
共有三个客户端三个服务端,使用VS2008 分别测试gsoap 两个数的加法操作,传递参数为结构体,传递参数为结构体数组,有一份doc文档记录,在我的博客《VS2008 gsoap 笔记》也可以看到和文档一样的文章 ,gsoap版本为...
C/C++中关于结构体的详细介绍,其中包括结构体作为函数体变量进行传递的相关介绍。
通过文件对结构体初始化的一个简单的示例。该初始化是通过MFC做的。只是用到里面的函数
c/c++ 中如果要打印结构体,不需要再复杂的输入n行printf了,一行就搞定 char *pMsg = CLoadDumpDll::Dump("MyStruct",&my); 时间有限,目前还只是支持基本类型的打印,哪些类型,参考test .cpp。