我想用java 做一个客户端的小程序,当用户使用USB插入电脑时,就显示在屏幕上显示,客户登陆了

我想用java 做一个客户端的小程序,当用户使用USB插入电脑时,就显示在屏幕上显示,客户登陆了,第1张

用java做这样的工作?不太适合吧。你需要监听系统usb接口,这需要调用系统的部分功能,一般来说java是跑在jvm里,和系统有点远,虽然可以JNI本地调用,但是也得知道可调用的接口啊

数据通过USB实时传输到PC

==> 这段肯定用到mfc

java 端获取数据,要么c++那边开发了一个可用的dll,要么需要自己写一个与cpp对应的java类来实时调用mfc

ifdatacbSize = sizeof(ifdata);

// 枚举符合该GUID的设备接口

bResult = ::SetupDiEnumDeviceInterfaces(

hDevInfoSet, // 设备信息集句柄

NULL, // 不需额外的设备描述

(LPGUID)&HARDDISK_GUID,//GUID_CLASS_USB_DEVICE, // GUID

(ULONG)nCount, // 设备信息集里的设备序号

&ifdata); // 设备接口信息

if (bResult)

{

ULONG predictedLength = 0;

ULONG requiredLength = 0;

// 取得该设备接口的细节(设备路径)

bResult = SetupDiGetInterfaceDeviceDetail(

hDevInfoSet, // 设备信息集句柄

&ifdata, // 设备接口信息

NULL, // 设备接口细节(设备路径)

0, // 输出缓冲区大小

&requiredLength, // 不需计算输出缓冲区大小(直接用设定值)

NULL); // 不需额外的设备描述

// 取得该设备接口的细节(设备路径)

predictedLength=requiredLength;

// if(pDetail)

// {

// pDetail =NULL;

// }

pDetail = (PSP_INTERFACE_DEVICE_DETAIL_DATA)::GlobalAlloc(LMEM_ZEROINIT, predictedLength);

pDetail- >cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);

bResult = SetupDiGetInterfaceDeviceDetail(

hDevInfoSet, // 设备信息集句柄

&ifdata, // 设备接口信息

pDetail, // 设备接口细节(设备路径)

predictedLength, // 输出缓冲区大小

&requiredLength, // 不需计算输出缓冲区大小(直接用设定值)

NULL); // 不需额外的设备描述

if (bResult)

{

// 复制设备路径到输出缓冲区

for(int i=0;i <17;i++){

ch[i]=(pDetail- >DevicePath+8+i);

}

ch[17]= "/0 ";

if (strcmp(ch,"vid_11dd&pid_0101")==0 ¦ ¦

strcmp(ch,"vid_11dd&pid_11dd")==0 ¦ ¦

strcmp(ch,"vid_0101&pid_0101")==0 ¦ ¦

strcmp(ch,"vid_0101&pid_11dd")==0) //比较版本号,防止意外出错

{

len = strlen(pDetail- >DevicePath);

devicename = new char[len];

memset(devicename, 0, len);

for(int i=0;i <(len-38);i++)

{

ch[i]=(pDetail- >DevicePath+i);

}

ch[len-38]= "/0 ";

memset(volume, 0, MAX_PATH);

}

}

}

nCount++;

}

// 释放设备接口数据空间

::GlobalFree(pDetail);

// 关闭设备信息集句柄

::SetupDiDestroyDeviceInfoList(hDevInfoSet);

}

以上就是关于我想用java 做一个客户端的小程序,当用户使用USB插入电脑时,就显示在屏幕上显示,客户登陆了全部的内容,包括:我想用java 做一个客户端的小程序,当用户使用USB插入电脑时,就显示在屏幕上显示,客户登陆了、Java怎么通过USB传输数据、怎么获得USB设备的Product ID,Vendor ID等信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9783789.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存