void USBDetectFun2(LPARAM lparam)
{
CUSBManagerDlg *dlg = (CUSBManagerDlg*)lparam;
HKEY hKey;
HANDLE hFindHanle;
if(ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("Comm\\Tcpip\\Hosts"),NULL,NULL,&hKey))
{
RETAILMSG(1,(TEXT("Unable to open HKEY...\n\r")));
return;
}
hFindHanle = CeFindFirstRegChange(hKey,TRUE,REG_NOTIFY_CHANGE_NAME);//REG_NOTIFY_CHANGE_LAST_SET
while (1)
{
WaitForSingleObject(hFindHanle,INFINITE);
//RETAILMSG(1,(TEXT("ActiveSync plugged or unplugged....\n\r")));
if(dwUSBState == USB_IDLE)
{
dwUSBState = USB_ACTIVESYNC_ON;
//发送一个消息表示同步模式下插入
dlg->SendMessage(WM_ACTIVESYNC_ON,NULL,NULL);
//RETAILMSG(1,(TEXT("ActiveSync plugged ...\n\r")));
}
else if (dwUSBState == USB_ACTIVESYNC_ON)
{
dwUSBState = USB_IDLE;
//发送一个消息表示同步模式下拔出
dlg->SendMessage(WM_ACTIVESYNC_OFF,NULL,NULL);
//RETAILMSG(1,(TEXT("ActiveSync unplugged ...\n\r")));
}
CeFindNextRegChange(hFindHanle);
}
CeFindCloseRegChange(hFindHanle);
}