Delphi 中的自动检测 USB 插入和移除

AutoDetect USB Insert and Removal in Delphi

我需要检测 USB 设备何时从我的程序中移除或插入。 我做了一些研究 found this 但不知道如何 implement/use 它。 有人能帮我解决一个函数吗?return 在 USB 插入时为真,在移除时为假,这样我就可以调用计时器每秒检查一次该函数?
使用 Delphi XE7.

谢谢。

创建一个 TComponentUSB 实例。为 OnUSBArrival 和 OnUSBRemove 事件分配两个事件处理程序。在事件处理程序中执行适当的代码。请注意,不需要使用 TTimer 进行轮询。
代码草图:

type
  TMyForm = class(TForm)
    FormCreate(Sender: TObject);
    ...
  private
    CUSB: ComponentUSB;
    procedure USBArrival(Sender: TObject);
    ...
  end;

procedure TMyForm.FormCreate(Sender: TObject);
begin
  CUSB := ComponentUSB.Create(Self);
  CUSB.OnUSBArrival = USBArrival;
end;

procedure TMyForm.USBArrival(Sender: TObject);
begin
  Caption := 'I''m here now!';
end;