定时检测USB连接状态 隔一段时间检测一次USB设备的连接状态,希望通过线程在后台运行,不知道该如何实现,还有一个数据处理需要的时间很长,也想用多线程来做,但也没有头绪,望指教,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 起用多线程实现,不会影响主进程的操作。定时发送检测事件,线程接收事件处理,或者在线程中进行SLEEP死循环即可 为什么需要监测,设备添加、删除都会有WM_DEVICECHANGE消息发给所有的窗口的。你处理这个消息即可。 我这里有个检测USB的代码不过还是建议你不用多线程,因为这个检测不耗多少资源BOOL CCopyFileDlg::CheckSavePath(){ //获取磁盘驱动器 TCHAR szVolumeName[MAX_PATH]={0}; GetLogicalDriveStrings(MAX_PATH,szVolumeName); TCHAR *pFirst=NULL,*pNext=NULL; pFirst=pNext=szVolumeName; //确定保存目录 while( 1 ) { pNext=pFirst+lstrlen(pFirst)+1; if( *pNext==_T('\0') ) { //*pFirst=*pFirst+1; break; } pFirst=pNext; } m_strSavePath=pFirst; return TRUE;}//检查是否插入USB存储设备BOOL CCopyFileDlg::CheckUSB(){ DWORD dwAttr=GetFileAttributes(m_strSavePath); if( dwAttr==0xFFFFFFFF ) { return FALSE; } if( (dwAttr & FILE_ATTRIBUTE_DIRECTORY)==FILE_ATTRIBUTE_DIRECTORY ) { if( GetDriveType(m_strSavePath)!=DRIVE_REMOVABLE ) { //SendMessage(WM_CLOSE,0,0); return FALSE; } return TRUE; } else { return FALSE; } return FALSE;} 做一个定时器,再配合WM_DEVICECHANGE来实现 急急急!!ACTIVEX OCX控件问题! 【新手求组】怎么样写一个Windows服务程序,请大家赐教 polymiorphism 看如何理解以下的代码的呢? 谁能告诉我这是why?thanks! ※※※C++成员函数回调的问题!!!★★★ Splash控件中能使用什么格式的图像和动画 关于汉王ocr软件不能识别tif文件的问题。急急急。up有分!!! 如何做一个控件,可以接管它所在的窗体(父窗口)? 怎样让打印换页 求助双缓存问题,谢谢。(我是新人,没有分) 电脑启动很慢的问题
不过还是建议你不用多线程,因为这个检测不耗多少资源BOOL CCopyFileDlg::CheckSavePath()
{
//获取磁盘驱动器
TCHAR szVolumeName[MAX_PATH]={0};
GetLogicalDriveStrings(MAX_PATH,szVolumeName); TCHAR *pFirst=NULL,*pNext=NULL;
pFirst=pNext=szVolumeName; //确定保存目录
while( 1 )
{
pNext=pFirst+lstrlen(pFirst)+1;
if( *pNext==_T('\0') )
{
//*pFirst=*pFirst+1;
break;
} pFirst=pNext;
} m_strSavePath=pFirst; return TRUE;
}//检查是否插入USB存储设备
BOOL CCopyFileDlg::CheckUSB()
{
DWORD dwAttr=GetFileAttributes(m_strSavePath); if( dwAttr==0xFFFFFFFF )
{
return FALSE;
} if( (dwAttr & FILE_ATTRIBUTE_DIRECTORY)==FILE_ATTRIBUTE_DIRECTORY )
{
if( GetDriveType(m_strSavePath)!=DRIVE_REMOVABLE )
{
//SendMessage(WM_CLOSE,0,0);
return FALSE;
} return TRUE;
}
else
{
return FALSE;
} return FALSE;
}