抛砖引玉之USB设备检测函数 ,有好的方法请回帖
本帖最后由 15106970607 于 2025-12-29 14:50 编辑1.单个USB设备
// 检测USB设备的函数
checkUsbDevice = function(){
import com.wmi;
// WMI查询USB设备
var devices1 = com.wmi.getTable("SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE '%VID_33C3&PID_7788%'");
if(#devices1 > 0){
//如果存在就...
}
else {
//如果不存在就...
}
}
2.多个USB设备
/*DICTUSB{{*/
checkUsbDevice = function(mainForm) {
import com.wmi;
// 定义设备配置数组,方便管理和扩展
var deviceConfigs = [
{
ids: ["%VID_04D9&PID_A09F%"],
control: "static11"
},
{
ids: ["%VID_04D9&PID_A1D0%", "%VID_04D9&PID_A243%"],
control: "static12"
},
{
ids: ["%VID_3554&PID_FB11%", "%VID_3554&PID_FB10%" , "%VID_3554&PID_F514%" , "%VID_3554&PID_F511%"],
control: "static13"
},
{
ids: ["%VID_9978&PID_7001%", "%VID_9978&PID_6001%"],
control: "static14"
},
{
ids: ["%VID_0416&PID_7410%"],
control: "static21"
},
{
ids: ["%VID_1A81&PID_2090%"],
control: "static22"
},
{
ids: ["%VID_352D&PID_23BE%"],
control: "static23"
}
];
// 统一处理所有设备检测
for(i, config in deviceConfigs) {
var isConnected = false;
// 检查该设备的所有可能ID
for(j, id in config.ids) {
// 使用 ++ 连接字符串
var devices = com.wmi.getTable("SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE '" ++ id ++ "'");
if(#devices > 0) {
isConnected = true;
break;
}
}
// 更新UI状态
var control = mainForm;
if(isConnected) {
control.color = 0x000000;
control.text = "已连接";
} else {
control.color = 0xA4A0A0;
control.text = "未连接";
}
}
}
/*}}*/
页:
[1]