[原创]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"));
	。。。
	。。。
}

 

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

posted on 2010-11-07 21:59  清清飞扬  阅读(2672)  评论(0编辑  收藏  举报