vc中创建线程并传递参数

演示了如何创建线程并传递参数给线程函数。

1. 创建一个基于对话框的MFC应用程序

2. 声明一个线程函数(选择作为全局函数)

    UINT KillWindow(LPVOID pParam);

3. 实现线程函数

  

UINT KillWindow(LPVOID pParam)

{

	BOOL bKilled = FALSE;

	CString *title = (CString*) pParam;

	while(!bKilled)

	{

		HWND hWnd = FindWindow(NULL, *title);

		if(hWnd)

		{

			::PostMessage(hWnd, WM_CLOSE, NULL, NULL);						// 关闭指定的窗口

			bKilled = TRUE;

		}

	}

	return 0;

}




4. 在需要的地方进行调用,如添加一个按钮,在其点击事件里进行调用 

void CTestFaxDlg::OnButton1()

{

	int iRet;

	CString srcDir = "D:\\srcFile";

	CString destDir = "D:\\Smart";

	vector<CString> list;



	CString title = "xxxxx";

	AfxBeginThread(KillWindow, &title);			// 创建一个线程,该线程专门用来关闭一个标题为title的窗口的



	list.push_back(_T("htm.htm"));

	。。。

	。。。

}

 

完成,这样当你点击按钮时,该线程就被创建并运行起来了!

你可能感兴趣的:(传递参数)