在Delphi中自动检测USB插入和删除

时间:2015-02-01 15:10:53

标签: delphi

我需要检测何时从我的程序中删除或插入USB设备。 我做了一些研究并found this但不知道如何实施/使用它。 可能有人帮我解决了一个功能,它会在USB插入时返回true而在删除时返回false,以便我可以调用Timer来每秒检查一次该功能吗? 使用Delphi XE7。

感谢。

1 个答案:

答案 0 :(得分:4)

创建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;