您的位置:程序门 -> delphi -> windows sdk/api



关于u盘插入拨出的消息响应


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于u盘插入拨出的消息响应[已结贴,结贴人:swlove]
发表于:2007-04-08 18:28:10 楼主
我的代码如下,但为什么每次插入拨出都连续弹出多个对话框呢   ?

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.
发表于:2007-04-08 19:09:061楼 得分:10
case   of   语句写错了
发表于:2007-04-08 20:35:312楼 得分:0
如何改正   ?
发表于:2007-04-08 20:59:333楼 得分:25
{do   something   here}
        case   message.wparam   of
        dbt_devicearrival:   s:= '插入了一新的设备,现在此设备可用 ';
        dbt_deviceremovecomplete:   s:= '设备已经被删除 ';
        else   s:=   ' ';
        end;
        if(s <> ' ')then   showmessage(s);
        inherited;
发表于:2007-04-09 12:50:154楼 得分:15
多个消息是正常的,你看看你设备管理器里面是不是少了好几个设备?
发表于:2007-04-09 19:01:325楼 得分:0
已经解决了


快速检索

最新资讯
热门点击