亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? devicechange.pas

?? This source code. simple tools for huawei CDMA platform function : read code write code read sp
?? PAS
字號:
unit DeviceChange;

interface

uses
  Windows, SysUtils, Classes, Controls, Messages, Graphics, Forms, Dialogs,
  DBT;

type

  TDeviceType = (dtOEM,
                 dtDEVNODE,
                 dtVOLUME,
                 dtPORT,
                 dtNET,
                 dtDEVICEINTERFACE,
                 dtHANDLE);

  TDeviceTypes = set of TDeviceType;
  TDeviceChangeEvent = procedure (Sender: TObject;
    ADeviceType: TDeviceType; APtr: Pointer) of object;

  TDeviceChange = class(TComponent)
  private
    { Private declarations }
    FWindowHandle: HWND;
    FDevices: TDeviceTypes;
    FDeviceArrival: TDeviceChangeEvent;
    FDeviceQueryRemove: TDeviceChangeEvent;
    FDeviceQueryRemoveFailed: TDeviceChangeEvent;
    FDeviceRemovePending: TDeviceChangeEvent;
    FDeviceRemoveComplete: TDeviceChangeEvent;
    FDeviceTypeSpecific: TDeviceChangeEvent;
    FDeviceCustomEvent: TDeviceChangeEvent;
    procedure WndProc(var Msg: TMessage);
    procedure SetDevices(v:TDeviceTypes);
  protected
    { Protected declarations }
    procedure WMDeviceChange(var Msg : TWMDeviceChange); dynamic;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published declarations }
    property Devices : TDeviceTypes read FDevices write SetDevices;
    property Arrival: TDeviceChangeEvent read FDeviceArrival
                                         write FDeviceArrival;
    property QueryRemove: TDeviceChangeEvent read FDeviceQueryRemove
                                             write FDeviceQueryRemove;
    property QueryRemoveFailed: TDeviceChangeEvent read FDeviceQueryRemoveFailed
                                                   write FDeviceQueryRemoveFailed;
    property RemovePending: TDeviceChangeEvent read FDeviceRemovePending
                                               write FDeviceRemovePending;
    property RemoveComplete: TDeviceChangeEvent read FDeviceRemoveComplete
                                                write FDeviceRemoveComplete;
    property TypeSpecific: TDeviceChangeEvent read FDeviceTypeSpecific
                                              write FDeviceTypeSpecific;
    property CustomEvent: TDeviceChangeEvent read FDeviceCustomEvent
                                             write FDeviceCustomEvent;
  end;

implementation


{**************************** TDeviceChange component *****************************}

constructor TDeviceChange.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FWindowHandle := AllocateHWnd(WndProc);
  FDevices := [dtOEM, dtDEVNODE, dtVOLUME, dtPORT, dtNET, dtDEVICEINTERFACE, dtHANDLE];
end;

destructor TDeviceChange.Destroy;
begin
  DeallocateHWnd(FWindowHandle);
  inherited Destroy;
end;

procedure TDeviceChange.WndProc(var Msg: TMessage);
begin
     if (Msg.Msg = WM_DEVICECHANGE) then
      try
        WMDeviceChange(TWMDeviceChange(Msg));
      except
        Application.HandleException(Self);
      end
    else
      Msg.Result := DefWindowProc(FWindowHandle, Msg.Msg, Msg.wParam, Msg.lParam);
end;

procedure TDeviceChange.WMDeviceChange(var Msg : TWMDeviceChange);
var lpdb : PDevBroadcastHdr;

begin
 (* received a wm_devicechange message *)
  lpdb := PDevBroadcastHdr(Msg.dwData);
  case Msg.Event of
    DBT_DEVICEARRIVAL :
      begin
        if Assigned(fDeviceArrival) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceArrival(Self,
                         TDeviceType(lpdb^.dbch_devicetype),
                         Pointer(Msg.dwData));
      end;
    DBT_DEVICEQUERYREMOVE :
      begin
        if Assigned(fDeviceQueryRemove) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceQueryRemove(Self,
                             TDeviceType(lpdb^.dbch_devicetype),
                             Pointer(Msg.dwData));
      end;
    DBT_DEVICEQUERYREMOVEFAILED :
      begin
        if Assigned(fDeviceQueryRemoveFailed) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceQueryRemoveFailed(Self,
                                   TDeviceType(lpdb^.dbch_devicetype),
                                   Pointer(Msg.dwData));
      end;
    DBT_DEVICEREMOVEPENDING :
      begin
        if Assigned(fDeviceRemovePending) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceRemovePending(Self,
                               TDeviceType(lpdb^.dbch_devicetype),
                               Pointer(Msg.dwData));
      end;
    DBT_DEVICEREMOVECOMPLETE :
      begin
        if Assigned(fDeviceRemoveComplete) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceRemoveComplete(Self,
                                TDeviceType(lpdb^.dbch_devicetype),
                                Pointer(Msg.dwData));
      end;
    DBT_DEVICETYPESPECIFIC :
      begin
        if Assigned(fDeviceTypeSpecific) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceTypeSpecific(Self,
                              TDeviceType(lpdb^.dbch_devicetype),
                              Pointer(Msg.dwData));
      end;
    DBT_CUSTOMEVENT :
      begin
        if Assigned(fDeviceCustomEvent) and
           (TDeviceType(lpdb^.dbch_devicetype) in FDevices) then
          FDeviceCustomEvent(Self,
                             TDeviceType(lpdb^.dbch_devicetype),
                             Pointer(Msg.dwData));
      end;
  end;
end;

procedure TDeviceChange.SetDevices(v : TDeviceTypes);
begin
 if v <> fDevices then begin
  fDevices := v;
 end;
end;


end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美激情小说另类| 青青草成人在线观看| 亚洲电影一区二区| 国产美女在线精品| 91麻豆精品国产91久久久使用方法 | 欧美精品 国产精品| 亚洲国产经典视频| 日韩不卡一二三区| 在线欧美小视频| 久久久99久久| 免费成人av在线| 一本一道综合狠狠老| 久久久久久久久久久久久久久99| 亚洲成在人线免费| 91年精品国产| 国产精品美女久久久久久| 精品一区二区综合| 7777精品伊人久久久大香线蕉 | 国产不卡一区视频| 欧美日韩国产精品成人| 亚洲天堂福利av| 国产xxx精品视频大全| 精品三级av在线| 日韩中文字幕1| 欧美日韩不卡视频| 亚洲一区二区视频在线观看| 色欧美片视频在线观看在线视频| 国产欧美日韩综合精品一区二区| 美国毛片一区二区| 91精品中文字幕一区二区三区| 亚洲综合视频在线| 色天天综合色天天久久| 亚洲欧美一区二区不卡| 9i看片成人免费高清| 国产精品不卡在线| 99在线精品视频| 亚洲视频免费观看| 色综合一个色综合| 一区二区三区不卡视频 | 欧美一区三区四区| 日韩高清在线不卡| 精品国产伦理网| 国产91精品露脸国语对白| 国产亚洲精久久久久久| 国产成人免费av在线| 国产精品色在线观看| 99热这里都是精品| 亚洲精品日日夜夜| 欧美肥妇毛茸茸| 蜜桃视频在线观看一区| www国产成人免费观看视频 深夜成人网| 极品少妇xxxx偷拍精品少妇| 久久久久久久国产精品影院| 高清在线观看日韩| 一区二区三区四区中文字幕| 欧美日韩国产三级| 狠狠色丁香久久婷婷综合丁香| 亚洲国产精品精华液ab| 在线观看视频一区| 另类小说图片综合网| 国产女人aaa级久久久级| 色爱区综合激月婷婷| 免费欧美日韩国产三级电影| 国产精品青草久久| 欧美系列日韩一区| 久久不见久久见免费视频7| 欧美激情一区二区三区不卡 | 粉嫩aⅴ一区二区三区四区 | 中文字幕二三区不卡| 色综合久久九月婷婷色综合| 蜜臀国产一区二区三区在线播放| 国产精品入口麻豆九色| 欧美优质美女网站| 国产一区二区三区四区五区入口| 一区二区三区不卡视频 | 成人欧美一区二区三区白人| 欧美日韩精品电影| 懂色av噜噜一区二区三区av| 亚洲主播在线观看| 国产女主播在线一区二区| 欧美日韩一区二区不卡| 国产成人综合精品三级| 视频一区国产视频| 国产精品国产馆在线真实露脸 | 亚洲自拍偷拍九九九| 久久在线观看免费| 在线观看日韩av先锋影音电影院| 国产最新精品免费| 亚洲成av人影院| 亚洲欧美激情视频在线观看一区二区三区 | 99久久久免费精品国产一区二区 | 一区二区三区加勒比av| 久久精品一区二区三区四区| 日韩欧美一级在线播放| 欧美亚洲高清一区| 99精品1区2区| 懂色av中文字幕一区二区三区| 青青国产91久久久久久 | 欧美精品高清视频| 91网站最新地址| 国产成人在线网站| 精品一区二区日韩| 五月婷婷激情综合网| 亚洲乱码国产乱码精品精可以看 | 五月激情综合网| 亚洲蜜臀av乱码久久精品| 久久五月婷婷丁香社区| 日韩一区二区三区电影在线观看| 欧美午夜视频网站| 91美女片黄在线观看91美女| av不卡免费在线观看| www.亚洲在线| av综合在线播放| 99精品视频在线观看| av网站免费线看精品| 粉嫩av一区二区三区粉嫩| 成人手机电影网| 丁香六月久久综合狠狠色| 成人精品小蝌蚪| 99r精品视频| 色婷婷国产精品| 在线观看亚洲精品视频| 欧美性色综合网| 在线电影一区二区三区| 91精品欧美一区二区三区综合在 | 欧美视频精品在线观看| 欧美电影在线免费观看| 欧美一区二区三区在线视频| 日韩一级二级三级| 亚洲精品在线三区| 国产亚洲制服色| 国产精品超碰97尤物18| 亚洲男同性视频| 图片区小说区区亚洲影院| 蜜桃av一区二区三区电影| 久久er精品视频| 成人三级在线视频| 99久久99久久综合| 欧美亚洲动漫精品| 日韩精品中午字幕| 欧美国产在线观看| 亚洲一区在线免费观看| 蜜臂av日日欢夜夜爽一区| 国产精品一区二区免费不卡 | 成人av电影在线| 欧美综合欧美视频| 欧美大片日本大片免费观看| 国产午夜精品福利| 一区二区三区精品视频在线| 麻豆视频一区二区| bt欧美亚洲午夜电影天堂| 欧美体内she精高潮| 久久综合五月天婷婷伊人| 日韩美女视频一区二区| 日本成人在线不卡视频| 丁香激情综合国产| 欧美日韩aaa| 国产精品久久久久久户外露出| 亚洲成人av在线电影| 国产成人激情av| 欧美日韩你懂的| 国产精品乱码妇女bbbb| 日韩有码一区二区三区| 成人av在线一区二区| 91精品国产丝袜白色高跟鞋| 一区在线观看视频| 久久99热这里只有精品| 色欧美片视频在线观看在线视频| 久久综合一区二区| 午夜精品视频在线观看| 成人动漫一区二区在线| 日韩欧美另类在线| 亚洲 欧美综合在线网络| jlzzjlzz亚洲日本少妇| 久久综合九色综合97婷婷| 日韩在线一区二区| 在线免费观看日本欧美| 国产精品视频一二三| 国内精品国产成人国产三级粉色| 91久久奴性调教| 亚洲欧洲99久久| 国产成人午夜高潮毛片| 精品国产乱码久久久久久浪潮 | 成人在线视频首页| 欧美videos中文字幕| 婷婷综合另类小说色区| 在线观看国产日韩| 综合网在线视频| 成人黄色大片在线观看| 国产日本亚洲高清| 国内精品在线播放| 日韩美女天天操| 久久精品国内一区二区三区| 欧美日韩国产精品自在自线| 亚洲第一搞黄网站| 欧日韩精品视频| 亚洲国产视频a| 欧美另类z0zxhd电影| 婷婷亚洲久悠悠色悠在线播放| 欧美日韩国产免费|