MFC 一个无参线程的CreateThread 使用

 最近想把c#的一个工作中用到的软件用MFC 实现出来, 刚下手 要了解的东西挺多,不但要对c++的语法,大体看一遍.

还要看MFC 内一些窗体,之类的相关的定义,比如cpp ,.h 内的类的定义方式等等,大体上看了下c++的语法, 以前有一点点的基础,十年前毕业时当时是vc++ 6.0 .

c++ 中我想指针是绕不过去的难点.刚开始也不用掌握所有,只有在项目中边做边体悟,我想这才是正常的路子,

今天对线程,因为网上挺多有参数的使用,我想先把无参的方式简单呈现出来,然后再去扩展.

1:在生成的主窗体的.h 文件下声明一下; 定义在窗体类外.

//线程函数声明  
DWORD WINAPI ThreadProc(LPVOID lpParam);

2:在内添加如下代码

    HANDLE hThead;    //用于存储线程句柄  
    DWORD  dwThreadID;//用于存储线程的ID  
//    threadInfo Info[3];   //传递给线程处理函数的参数  
    HICON m_hIcon;

3:在cpp 内调用生成线程函数

hThead = CreateThread(NULL, 0, ThreadProc, NULL, 0, &dwThreadID);

4:在cpp内

DWORD WINAPI ThreadProc(LPVOID lpParam)
{
//    threadInfo* Info = (threadInfo*)lpParam;
AfxMessageBox("ddd");
return 0;
}

这四步 一个线程就生成完了, 里边可以编写你想要的东西

跟c#相比  多了在.h中的声明.  有了句柄之类的概念了.

CreateThread(NULL, 0, ThreadProc, NULL, 0, &dwThreadID); 中第四个参数 为null 就是无参数, 此参数是指针参数,是传给调用的函数中的.在文中第四部注释掉了 info 传过来的转换.
原文地址:https://www.cnblogs.com/zuochanzi/p/6862017.html