压缩工具已经做好,但是全部工作在主线程中,使得压缩比较大的文件的时候会使界面卡死,所以使用AfxBeginThread()创建一个MFC的线程,让新创建的线程去做压缩的工作。于是可以把需要的参数传递到新线程中,本例子是把一个类的指针当作参数传递到新线程中:

首先看一下LPVOID 是什么:LPVOID 任意类型的指针,定义为typedef void *LPVOID。    也就是说你可以将任意类型的指针赋值给LPVOID类型的变量(一般作为参数传递),然后在使用的时候再转换回来。可以将其理解为long型的指针,指向void型。

1.声明成员函数为 static UINT OnStartButton (LPVOID  pParam) ;  点击start按钮的时候创建新的线程

2.在主线程中调用AfxBeginThread((AFX_THREADPROC)OnStartButton,this);创建一个新线程,将一个CconverToolDlg*的this指针参数传到新线程中

3. UINT CconverToolDlg::OnStartButton(LPVOID pParam)
{
CconverToolDlg* pMy = (CconverToolDlg*)pParam;

下方代码略

..................................................................................

..................................................................................

这样就将一个CconverToolDlg*类型的指针参数传递到了新线程中

AfxBeginThread第二个参数LPVOID pParam的使用相关推荐

  1. listen函数的第二个参数_【图像处理】OpenCV系列十七 --- 几何图像变换函数详解(一)...

    上一篇我们学习了仿射变换的warpAffine函数,知道了如何用这个函数对图像进行旋转.平移等操作,那么本节我们一起来学习一下与仿射变换相关的其他函数以及相关的几何图像变换. 一.convertMap ...

  2. OpenCV中cvADDS()为啥第二个参数要是CvScalar类型?掩码mask=NULL又是何意?

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 void cvAddS(const CvArr* ...

  3. C语言strftime()函数 (格式化时间)(注意第二个参数size_t maxsize一定要大于第三个参数const char *format指向字符串的长度)

    需包含:C 标准库 - <time.h> 文章目录 描述 声明 参数 返回值 实例 使用☞坑(注意第二个参数size_t maxsize一定要大于第三个参数const char *form ...

  4. listen函数的第二个参数_JavaScript数组构造from函数

    之前我们讲解了数组的填充方法fill函数,fill函数是对当前的数组进行填充且返回值为当前的数组对象,from和fill相类似也可以对数组进行填充,但是和fill不同的是form的返回值是一个新的数组 ...

  5. java sort 第二个参数_详解java Collections.sort的两种用法

    Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: public static > void sort(List list) { l ...

  6. [react] react中setState的第二个参数作用是什么呢?

    [react] react中setState的第二个参数作用是什么呢? 第二个参数是一个callback函数,用于setState设置state的属性值成功之后的回调,此时调用this.state.p ...

  7. Listen第二个参数的意义

    Listen第二个参数的意义 文章转载于:http://blog.csdn.net/weiyuefei/article/details/52239315 今天主要回顾下listen的第二个参数的意义. ...

  8. [C/C++]记录:使用sprintf_s时第二个参数不严格计算导致栈损坏

    (1)使用sprintf_s时第二个参数不严格计算导致栈损坏的情况 这段代码之前便是函数的定义变量的部分. 此处没有严格计算第一个参数指向的字符串的可用长度. 查看局部变量,发现在函数开头初始化为0的 ...

  9. PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳。在高并发或者间隔时长极短(如循环代码)的情况下,会出现大量重复数据。即使使用了第二个参数,也会重复,最好的方案是结

    转载地址:http://www.51-n.com/t-4264-1-1.html PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳.在高并发或者间隔时长极短(如循环 ...

  10. java replace第二个_java - 错误的第二个参数类型:从片段内调用.replace() - 堆栈内存溢出...

    我知道这个问题经常被问到,但是没有一个被接受的解决方案对我有用. 尝试从其他片段之一启动"首选项菜单"片段时,出现经典的"错误的第二个参数类型"错误. 不幸的是 ...

最新文章

  1. JSP 自定义标签介绍
  2. 使用VC连接Access数据库的两种方法
  3. Objective-C笔记
  4. c c 语言程序设计同步,第一部分C语言程序设计C语言程序设计同步练习答案.PDF...
  5. 浪潮云海OS再度登顶 SPEC Cloud性能得分「全球第一」
  6. iphone分辨率_QHD 分辨率有必要吗?三个理由告诉你:手机屏幕 FHD 就很好
  7. arp 原理及查杀方式
  8. 大数据框架对比:Hadoop、Storm、Samza、Spark和Flink
  9. MyBatis架构图
  10. OpenDDS架构说明
  11. 单独得省级行政区数据
  12. 数字电路设计的基本方法有哪些
  13. SVN `Clean up`时报错如何处理
  14. VS2010开发的winform程序在XP系统打不开的原因(与ico图标像素有关)
  15. matlab制作扇形统计图及颜色调配
  16. lixnu 启动php,好奇怪的代码
  17. python根据经纬度画热力图_【python】使用python按照一定格式批量输出,地图热力图经纬度格式生成器...
  18. 比特鹏哥第二节课笔记
  19. leaflet运动轨迹
  20. SoftRendererRenderPipeline(从迷你光栅化软渲染器的实现看渲染流水线)

热门文章

  1. redis 集群 set key报错CLUSTERDOWN Hash slot not served
  2. 2022.5.6 java标识符
  3. taptap(fake)
  4. python的def什么意思_「Python基础」def是什么?如何自定义函数def
  5. 学生用计算机方着怎么计,科学计算器使用
  6. k3s-(3)k3s-agent工作节点安装
  7. WCG2008科隆总决赛 公开票选你想要的游戏
  8. 外地户籍应届毕业生落户上海申请及办理流程(包括海外)
  9. c语言读取sgy格式文件,用C语言读写SGY格式的地震数据文件
  10. 互联网日报 | 前11月全国网购超10万亿元;B站8月月活首次突破2亿;华为Mate40标准版开启预售...