我想每当拔下USB设备(USB转串口)后WINDOWS都会响一声,那么WINDOWS肯定是发了消息的,关键是我怎么去截获这个消息咧???
解决方案 »
- 怎样调用另一个窗体中的过程
- 我的EXE是不是缺什么,大家帮我看看!
- 帮我看一下这条UPDATE语句哪里错了?
- 数据库系统多层结构中间件出售
- 安装VCL组件出现了问题!
- MDI窗口闪动问题。
- 请问在Delphi中用什么函数可取得汉字的ASCII码?
- 急急急!,在线等待,树型控件的问题
- 再问一个很菜的问题,Alignment我不会用,请问怎么用?真是不好意思,我真没在书上找到。
- 我用ADO连接SQL,并且在服务器上面的数据库里面建立了一个表,可是客户端提示出“adoquery1:commandtext does not return a result set” 是怎么回事呀?
- TGPBitmap 加载资源文件
- VCL中嵌入了一个TWEBbrowser 但是会有边框 要怎么去掉这个边框
http://blog.csdn.net/radicwei/article/details/8752581
TUDiskPlugEvent = procedure(PlugType: Integer) of object;
TUSBDiskMessage = class
private
m_OnPlug: TUDiskPlugEvent;
procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
public
constructor Create;
destructor Destroy; override;
public
procedure GetCurrentUSBS(var lstRet: TStringList);
//获取指定目录所有指定扩展名的文件
procedure GetFiles(dir: string; ext: string; var lstRet: TStringList);
public
property OnPlug: TUDiskPlugEvent read m_OnPlug write m_OnPlug;
end;//实现
procedure TUSBDiskMessage.WMDeviceChange(var Msg: TMessage);
begin
case Msg.WParam of
32768:
begin
if Assigned(m_OnPlug) then
begin
m_OnPlug(1);
end;
end;
32772:
begin
if Assigned(m_OnPlug) then
begin
m_OnPlug(0);
end;
end;
end;
end;你试试。