| 
				 3.1  U盘插入及密码登陆的判定 
在Windows系统中,计算机上添加或者删除U盘时,将触发系统的WM_DEVICECHANGE消息。在过程中首先判断是否密码登陆关闭U盘锁功能,如果未登陆在定时器处理过程中再进行U盘授权的判定。 
//捕获新添加删除硬件消息处理过程用于检测U盘的插入: 
procedure TForm1.WMDeviceChange(var Message: TMessage); 
const 
     DBT_DEVICEARRIVAL = $8000 ;  //有新设备的消息编号 
Begin 
//用户已密码登陆U盘锁已关不卸载U盘 
if LogIn then              
   exit; 
if DisMountCmdOk then   //如果已经发出卸载命令,则不再响应该消息 
   exit; 
case Message.wParam of 
     DBT_DEVICEARRIVAL:     //插入设备了 
        begin 
          DriverVol:=Driver;              //获取刚插入U盘的盘符 
          GetUSBInfo(DriverVol,UsbId);    //获取U盘序列号 
          DisMountCmdOk:=true;         //置卸载命令 
          timer1.Enabled:=true;           //卸载USB设备 
        end; 
end; 
inherited; 
end; 
当系统检测到U盘插入后,首先进行第一种密码登录判定,如果未登录再启用定时器在定时器处理过程对U盘进行第二种授权判定。 			
				 |