实现插入usb设备界面能提示插入了这个设备功能

By admin at 2017-12-10 • 0人收藏 • 398人看过

参考了aar的官方示例u盘检测:然后修改下面的

import win.ui;
/*DSG{{*/
var winform = win.form(text="自动检测插入U盘";right=740;bottom=296)
winform.add(
edit={cls="edit";text="请插入设备";left=15;top=15;right=726;bottom=263;edge=1;multiline=1;z=1}
)
/*}}*/
 
import win.util.deviceNotification;
var deviceNotification = win.util.deviceNotification(winform)
 
deviceNotification.onDeviceArrival = function(devicetype,deviceBroadcastData,ptrData){
    if( devicetype == 5/*_DBT_DEVTYP_DEVICEINTERFACE*//**2/*_DBT_DEVTYP_VOLUME*/**/ ){
        winform.edit.print("发现了设备",deviceBroadcastData.name);  
    }
}
 
deviceNotification.onDeviceRemoveComplete = function(devicetype,deviceBroadcastData,ptrData){
    if( devicetype == 5 ){
         winform.edit.print("移除设盘" + " " + deviceBroadcastData.name )
    }
} 
 
winform.show() 
win.loopMessage();

说明:
框架调用这个函数以通知应用程序或设备驱动程序,设备或计算机的硬件配置发生了改变。
对于提供了软件控制功能,如弹出和锁定的设备,操作系统通常发送一条DBT_DEVICEREMOVEPENDING消息,以便使应用程序和设备驱动程序停止对设备的使用。
如果操作系统强行清除了一个设备,它可能不会发送DBT_DEVICEQUERYREMOVE消息。
nEvent参数可以是下列值之一:


·DBT_DEVICEARRIVAL已经加入了一个设备,现在可以使用。
·DBT_DEVICEQUERYREMOVE允许清除被请求的设备。任何应用程序都可以拒绝这个请求并取消清除操作。
·DBT_DEVICEQUERYREMOVEFAILED清除设备的请求被取消了。
·DBT_DEVICEREMOVEPENDING设备将要被清除。不能拒绝。
·DBT_DEVICEREMOVECOMPLETE设备已经被清除。
·DBT_DEVICETYPESPECIFIC与设备有关的事件。
·DBT_CONFIGCHANGED当前配置发生了变化。
·DBT_DEVNODES_CHANGED设备节点发生了变化。

注意 框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。

程序里为什么是5/*_DBT_DEVTYP_DEVICEINTERFACE*/


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...