MFC一种线程的使用方法在.h文件中。
1 struct MonitorPara
2 {
3 enum SaveType
4 {
5 OnlySend,
6 SendSave,
7 SendErrorSave
8 };
9
10 int m_nListenPort; // monitor local ip port
11 CString m_sServerIP; // send data server ip
12 int m_nServerPort; // send data server port
13
14 SaveType m_SaveType;
15 CString m_sDataBufDir;
16 };
17
18 static UINT ListeningThreadProc(LPVOID lparam);
在.cpp文件中。
1 UINT CSocketPrinter::ListeningThreadProc(LPVOID lparam)
2 {
3 //CFileWatcher* obj = (CFileWatcher*)lParam;
4 CSocketPrinter::MonitorPara para = *((CSocketPrinter::MonitorPara*)lparam);
5
6
7 }
8
9 BOOL CSocketPrinter::StartMonitor(const MonitorPara ¶)
10 {
11 CWinThread* pThread = AfxBeginThread(ListeningThreadProc, (LPVOID)¶);
12
13 return (pThread && pThread->m_hThread);
14 }
调用线程.cpp文件中。
1 CSocketPrinter obj;
2 CSocketPrinter::MonitorPara para;
3
4 HANDLE h_Thread = NULL;
5 h_Thread = obj.StartMonitor(para);
6
7 if (!h_Thread)
8 {
9 LOG("获取线程句柄出错");
10 return;
11 }
强制结束线程
1 ::TerminateThread(h_Thread, 0);
posted on 2012-04-26 13:35
王海光 阅读(497)
评论(0) 编辑 收藏 引用 所属分类:
MFC