多线程简单摘要!

在MFC里直接用AfxBeginThread就可以了啊。
使用CWinThread*声明一个线程,然后定义一个线程函数,在要开启线程的地方使用AfxBeginThread这个线程函数就可以了~
例如:
CWinThread* pThreadTest; UINT _TestThread(LPVOID lparam) { HWND hDlg=FindWindow(NULL,TEXT("DxxTest")); //获取另一窗口的HWND CString str; // HWND hDlgbtn=FindWindow(NULL,TEXT("停止服务")); ::SendMessage(hDlg,WM_COMMAND,IDC_BUTTON2,0); //向hDlg窗口内的IDC_BUTTON2按钮发送消息 for(int i=1;i<1000;i++) { str.Format(TEXT("%d服务已启动!"),i); SetDlgItemText(hDlg,IDC_STATIC,str); Sleep(1000); } return 0; }
//在适当地方开启线程
pThreadTest = ::AfxBeginThread(_TestThread,this);

 

例如:

void CDxxTestDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 CWinThread* pThreadTest; GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE); //在适当地方开启线程 pThreadTest = ::AfxBeginThread(_TestThread,this); }

你可能感兴趣的:(多线程,command,null,mfc,button)