4 编程实现
针对这种病毒的传播方式,我们可以根据病毒的固有特征来定位其所在,并且在病毒启动之前删除,防止感染。
4.1 检测移动设备的插入
在这里,用到了一个Windows的消息:WM_DEVICECHANGE,设备变更消息。在系统的盘符设备发生变化的时候,系统会自动向系统里运行每一个运行的程序发送这个消息,如果捕捉的这个消息,就可以检测移动设备的插入,从而进行下一步的检验。具体实现的关键delphi代码如下,已经加了注释。
|
Uses Messages / /在程序头部引用消息单元 procedure WMDeviceChange( var Msg:Tmessage);message WM_DEVICECHANGE ;//创建接受过程 const BDT_DEVICEARRIVAL=$8000; //定义移动设备插上时的消息 //整个接受消息和检测过程 procedure TForm1.WMDeviceChange(var Msg:Tmessage); var i:integer; begin case Msg.WParam of BDT_DEVICEARRIVAL: //移动设备插上事件 begin for i:=97 to 122 do begin killvirus(chr(i));//从a到z盘,每个盘符调用病毒查杀过程 end; end; end; end;
|