如何在u盘插上以后就自动运行指定的程序?

时间:2022-09-16 20:31:47

测试通过
1、新建工程;
2、在form1上放一个Label;
3、定义一个私有过程
    procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;


完整代码如下:

unit Unit1;

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.