您的位置:首页 > 其它

[原创]vc中创建线程并传递参数

2010-11-07 21:59 274 查看
演示了如何创建线程并传递参数给线程函数。

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"));
。。。
。。。
}


完成,这样当你点击按钮时,该线程就被创建并运行起来了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: