Delphi捕获U盘插入或者拔出

在USB端口被热插后,系统会向所有程序发布WM_DEVICECHANGE消息,所以只要捕获此消息即可实现对U盘的监视。   1、新建工程;      2、在form1上放一个Label;      3、定义一个私有过程 procedure   WMDeviceChange(var   Msg:   TMessage);   message   WM_DEVICECHANGE;              完整代码如下:   

unit U;
  
interface   
  
uses   
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, AppEvnts, ExtCtrls, StdCtrls;
  
type   
    TForm1 = class(TForm)
    Label1: TLabel;
    private   
        {   Private   declarations   }   
        procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
    public   
        {   Public   declarations   }   
    end;   
var   
    Form1: TForm1;
  
implementation   
  
{$R   *.dfm}   
  
procedure TForm1.WMDeviceChange(var Msg:TMessage);
var   
    myMsg : String;   
begin   
    Case Msg.WParam of
    32768:begin
            myMsg :='U盘插入';
            Label1.Caption:=myMsg   
          end;
    32772:begin
            myMsg :='U盘拔出';
            Label1.Caption:=myMsg;   
          end;
    end;   
end;   
  
end.