首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于U盘插入拨出的消息响应解决方案

2012-02-12 
关于U盘插入拨出的消息响应我的代码如下,但为什么每次插入拨出都连续弹出多个对话框呢?unitUnit1interfac

关于U盘插入拨出的消息响应
我的代码如下,但为什么每次插入拨出都连续弹出多个对话框呢   ?

unit   Unit1;

interface

uses
    Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,
    Dialogs,StdCtrls;

type
    TForm1   =   class(TForm)
    private
        {   Private   declarations   }
        procedure   WMDDevicChange(var   Message:TMessage);
        message   WM_DEVICECHANGE;
    public
        {   Public   declarations   }
    end;

var
    Form1:   TForm1;

implementation

{$R   *.dfm}
const   DBT_DEVICEARRIVAL=$8000;
const   DBT_DEVICEREMOVECOMPLETE=$8004;
c

procedure   TForm1.WMDDevicChange(var   Message:TMessage);
var
    s:string;
begin
    {Do   Something   here}
case   Message.WParam   of
    DBT_DEVICEARRIVAL:   s:= '插入了一新的设备,现在此设备可用 ';

    DBT_DEVICEREMOVECOMPLETE:   s:= '设备已经被删除 ';

end;
    ShowMessage(s);
    inherited;
end;

end.

[解决办法]
case of 语句写错了

[解决办法]
{Do Something here}
case Message.WParam of
DBT_DEVICEARRIVAL: s:= '插入了一新的设备,现在此设备可用 ';
DBT_DEVICEREMOVECOMPLETE: s:= '设备已经被删除 ';
else s:= ' ';
end;
if(s <> ' ')then ShowMessage(s);
inherited;
[解决办法]
多个消息是正常的,你看看你设备管理器里面是不是少了好几个设备?

热点排行