MFC

MFC线程使用

c++

Posted by YiMiTuMi on March 24, 2021

MFC线程使用

一般用线程查找一些文件,然后发消息出去插入到MFC的List中,一般配合虚拟列表使用比较好。

注意:MFC不能在子线程内操作控件,所以要发出去。

定义一个消息:

	#define WM_FILE_INFO WM_APP +108 

建一个线程:

	void FileInfoFunctionDlg::FindList()
	{
		HANDLE hThread = CreateThread(NULL, 0, FindThread, this, 0, NULL);

		if (hThread != NULL)
		{
			CloseHandle(hThread);
			hThread = NULL;
		}
	}

线程函数:

	DWORD WINAPI FindConsoleBackUpMachineInfoThread(void* pParam)
	{
		FILE_INFO FileInfo;  //定义的结构体

		//查询数据

		
		::SendMessage(_hwndFileTimeMachine, WM_FILE_INFO, (WPARAM)&FileInfo, NULL);  //发送消息出去
	}

接受消息函数:

	BOOL CClientBackupFileViewDlg::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
	{
		if (message == WM_CONSOLE_FILE_BACKUP_TIME_MACHINE_THREAD_START)
		{	
			FileInfo* pInfo = (FileInfo*)wParam;

			//操作List
	
			return TRUE;
		}
	
		return CDialog::OnWndMsg(message, wParam, lParam, pResult);
	}

薰衣草 – 等待爱情