⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uusbdisknotify.pas

📁 实现U盘或移动硬盘插入和退出时得到事件响应
💻 PAS
字号:
unit UUSBDiskNotify;

interface

uses
  SysUtils, Classes, UAppCommonType;

type
  TUSBDiskNotify = class(TComponent)
  private
    function GetUSBDevices(Index: Integer): TObject;
    function GetUSBDevicesCount: Integer;
    procedure SetOnUSBArrival(const Value: TUSBNotifyEvent);
    procedure SetOnUSBRemove(const Value: TUSBNotifyEvent);
    function GetOnUSBArrival: TUSBNotifyEvent;
    function GetOnUSBRemove: TUSBNotifyEvent;
  public
    (**
    USB设备列表
    *)
    property USBDevices[Index: Integer]: TObject read GetUSBDevices; default;
    (**
    USB设备总数
    *)
    property USBDevicesCount: Integer read GetUSBDevicesCount;
    function EjectUSBDisk(const AUSBDevice: TObject): Boolean;
    function FindUSBDevice(const AId: string): TObject;
  published
    (**
    USB设备插入事件
    *)
    property OnUSBArrival: TUSBNotifyEvent read GetOnUSBArrival write SetOnUSBArrival;
    (**
    USB设备弹出事件
    *)
    property OnUSBRemove: TUSBNotifyEvent read GetOnUSBRemove write SetOnUSBRemove;
  end;

procedure Register;

implementation

uses UUsbManager;

procedure Register;
begin
  RegisterComponents('SEDEE', [TUSBDiskNotify]);
end;

{ TUSBDiskNotify }

function TUSBDiskNotify.EjectUSBDisk(const AUSBDevice: TObject): Boolean;
begin
  TUsbManager.Instance.EjectUSBDisk(AUSBDevice);
end;

function TUSBDiskNotify.FindUSBDevice(const AId: string): TObject;
begin
  Result := TUsbManager.Instance.FindUSBDevice(AId);
end;

function TUSBDiskNotify.GetOnUSBArrival: TUSBNotifyEvent;
begin
  Result := TUsbManager.Instance.OnUSBArrival;
end;

function TUSBDiskNotify.GetOnUSBRemove: TUSBNotifyEvent;
begin
  Result := TUsbManager.Instance.OnUSBRemove;
end;

function TUSBDiskNotify.GetUSBDevices(Index: Integer): TObject;
begin
  Result := TUsbManager.Instance.USBDevices[Index];
end;

function TUSBDiskNotify.GetUSBDevicesCount: Integer;
begin
  Result := TUsbManager.Instance.USBDevicesCount;
end;

procedure TUSBDiskNotify.SetOnUSBArrival(const Value: TUSBNotifyEvent);
begin
  TUsbManager.Instance.OnUSBArrival := Value;
end;

procedure TUSBDiskNotify.SetOnUSBRemove(const Value: TUSBNotifyEvent);
begin
  TUsbManager.Instance.OnUSBRemove := Value;
end;

end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -