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

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

参考了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*/


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...