我知道以前有人做过,我也在网上找过,资料都很零乱,谁有完整一点的资料,可否发一份给我,万分感谢!100分感谢!
Email:[email protected]
Email:[email protected]
解决方案 »
- 模拟按键无法连续重复不正常问题
- 如何用VC++ 在一幅bmp图像中裁剪一块任意角度的矩形图像?
- 找人兼职--在图片中识别数字和字母(印刷体)
- 关于内存的问题!
- vc6.0,苦啊,有同感的兄弟姐妹们过来看看吧!呜呜呜呜
- 哪里有wmv,rm等流媒体文件格式资料看
- 此头文件“afxext.h”做何用?
- 我们下个学期的课程,大家来看看吧!
- GetCurrentDirectory(????)是怎么用的,有什么作用?
- 如何在File Dialog中选中多个文件?就像在winamp中一样
- 请问如何在开机时让程序自动启动且加载到任务栏中,谢了!
- 请问高手,为什么我在CMainFrame的线程函数中通过CSplitterWnd.GetPane(m,n)访问分割视运行时总出错啊
/******************************************************************
*name:MonitorPortThread
*param:lpVoid
*return:DWORD
*note:用来监听指定端口的线程函数
******************************************************************/
DWORD WINAPI MonitorPortThread(PVOID lpVoid)
{
ThreadParam * pParam = (ThreadParam *)lpVoid;
DWORD dwData;while(!pParam->bStop)
{
if(pParam->bSend)
{
try
{
//nData = _inp(pParam->nPort);
GetPortVal(0x379,&dwData,4);
}
catch(...)
{//发生错误,发送错误消息
if(pParam->errMsg!=0x00000000)
{
SendMessage(pParam->hwnd,pParam->errMsg,pParam->wParam,GetLastError());
}
continue;
}
if((dwData&pParam->dwMask)!=0)
{//有信号输入,发送指定的消息
SendMessage(pParam->hwnd,pParam->msg,pParam->wParam,(LPARAM)dwData);
}
}
}
return 0;
}
/******************************************************************
*name:BeginMonitor
*param:...
*return:BOOL
*note:启动一个监听端口的线程
*成功返回 TRUE , 失败返回 FALSE
******************************************************************/
BOOLBeginMonitor(ThreadParam * pParam,HANDLE * pThread,DWORD * pThreadId)
{
if(pParam==NULL || pThread==NULL || pThreadId==NULL)
{
return FALSE;
}
HANDLE hThr;
hThr = CreateThread(NULL,0,MonitorPortThread,pParam,0,pThreadId);
if(hThr==NULL)
{
return FALSE;
}
*pThread = hThr;
return TRUE;
}
结束线程的代码可以自己去写,类似。。
你的qq是多少,我想加你,我的qq:49059172