U盘插入拔出提示

Unit Unit1;

Interface

Uses

  Windows, Messages, SysUtils, Variants, classes, Graphics, Controls, Forms,

  Dialogs, AppEvnts, ExtCtrls, StdCtrls, ShellAPI;

Type

  TForm1 = Class(TForm)

    Button1: TButton;

  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;

  i: char;

Begin

  Case Msg.WParam Of

    32768: Begin

        ShowMessage('U盘插入');

        For i := 'D' To 'Z' Do

          If GetDriveType(PChar(i + ':"')) = DRIVE_REMOVABLE Then Begin

            ShellExecute(Handle, 'open', 'Explorer.exe', PChar(i + ':"'), Nil, SW_SHOWNORMAL);

          End;

      End;

    32772: Begin

            ShowMessage('U盘退出')

    End;

  End;

End;

End.
原文地址:https://www.cnblogs.com/karkash/p/7933757.html