USB的 监听
来源:互联网 发布:淘宝买家星级在哪里 编辑:程序博客网 时间:2024/05/08 17:05
#include <windows.h>
#include <Dbt.h>// 添加头文件,捕捉WM_DEVICECHANGE消息
#include <stdio.h>
#include <math.h>
LRESULT CALLBACK WndProc(HWND h, UINT msg,WPARAM wp, LPARAM lp)//对windous发生的信息进行处理,HWND h消息要传递的窗口,UINT msg消息的id,消息在电脑中的代码表示, WPARAM wp, LPARAM lp是消息传进来的具体内容
{
if (msg == WM_DEVICECHANGE)//系统硬件改变发出的系统消息
{
if ((DWORD)wp == DBT_DEVICEARRIVAL)//设备检测并可以使用的信息
{
DEV_BROADCAST_VOLUME* p = (DEV_BROADCAST_VOLUME*) lp;
if (p->dbcv_devicetype == DBT_DEVTYP_VOLUME)//盘符,系统对于磁盘存储设备的标识符
{
int l =(int)(log(double(p->dbcv_unitmask)) / log(double(2)));
printf(“有U盘插进来了\n");
}
}
else if ((DWORD)wp == DBT_DEVICEREMOVECOMPLETE)
{
DEV_BROADCAST_VOLUME* p = (DEV_BROADCAST_VOLUME*) lp;
if (p->dbcv_devicetype == DBT_DEVTYP_VOLUME)
{
int l =(int)(log(double(p->dbcv_unitmask)) / log(double(2)));
printf("U盘被拔掉了\n");
}
}
return TRUE;
}
else return DefWindowProc(h, msg, wp, lp);//应用程序没有处理的任何窗口消息提供缺省的处理
}
int main()
{
//.lpszClassName和.lpfnWndProc都是WNDCLASSEX中重要的函数
WNDCLASS wc;//应用程序通过定义一个窗口类确定窗口的属性
ZeroMemory(&wc, sizeof(wc));//将指定的内存块清零
wc.lpszClassName = TEXT("myusbmsg");//指向NULL结束的字符串或原型
wc.lpfnWndProc /*智能地处理了所有的窗口消息循环 */= WndProc;//Windows操作系统向应用程序发送一系列消息,如左键按下和左键抬起,应用程序将通过GetMessage等方法最终将消息提交到窗口过程(WndProc[英文全称windows process])指向一个应用程序定义的窗口过程的指针。
RegisterClass(&wc);
HWND h = CreateWindow(TEXT("myusbmsg"), 0, 0, 0, 0, 0, 0,
0, 0,GetModuleHandle(0), 0);
MSG msg;//定义一个结构体
while( GetMessage(&msg, 0, 0, 0) > 0 )
{
TranslateMessage(&msg); //函数用于将虚拟键消息转换为字符消息
DispatchMessage(&msg);//该函数分发一个消息给窗口程序。通常消息从GetMessage函数获得。消息被分发到回调函数(过程函数),作用是消息传递给操作系统,然后操作系统去调用我们的回调函数,也就是说我们在窗体的过程函数中处理消息。
}
}
- USB的 监听
- 监听USB设备的插入和弹出
- android监听usb的插入与拔出
- android usb host 模式下监听usb的拔插
- C# 监听USB
- C#监听USB设备
- USB监听代码(udevmonitor)
- 设置USB数据监听
- Android 监听 USB 接口的插拔状态
- Android NDK——监听USB的连接与断开
- Android 通过广播监听USB连接状态的改变
- android学习之USB监听
- Java实现监听USB插入
- android 监听USB连接状态
- android 监听USB连接状态
- 如何监听USB插拔
- USB外接输入设备(如:键盘,鼠标等)的监听
- Android USB\HDMI等事件监听
- 美军“里根”核航母号结束演习 已返回日本基地
- 关于Hadoop以及S3的几个坑
- 我的博客开启之旅
- [宇宙与天文]星际之门的秘密
- **原创**零基础学ios***OC课程03**时间管理NSDate...时间戳
- USB的 监听
- 英国加入对IS空袭联盟 美议员促美派遣地面部队
- php删除指定目录下的的文件/文件夹-用PHP怎么删除某目录下指定的一个文件/文件夹?
- Oracle存储过程例子游标异常
- 【ArcGis for javascript从零开始】之一 ArcGis加载天地图
- 俄土舰艇频发海上对峙 俄罗斯拒开通军事
- 感悟
- 国民党“太平舰”被解放军击沉:台湾一片
- 对 Xcode 菜单选项的详细探索