问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

想用c++写一个监测在win7下的usb插拔监测

发布网友 发布时间:2022-05-04 14:18

我来回答

5个回答

热心网友 时间:2022-06-24 22:29

#include <windows.h>
#include <dbt.h>
#include <stdio.h>
#include <math.h>
LRESULT CALLBACK WndProc(HWND h, UINT msg, 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("啊……%c盘插进来了\n", 'A' + l);
            }
        } 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("啊……%c盘被拔掉了\n", 'A' + l);
            }
        }
        return TRUE;
    } else return DefWindowProc(h, msg, wp, lp);
}
int main() {
    WNDCLASS wc;
    ZeroMemory(&wc, sizeof(wc));
    wc.lpszClassName = TEXT("myusbmsg");
    wc.lpfnWndProc = WndProc;
    
    RegisterClass(&wc);
    HWND h = CreateWindow(TEXT("myusbmsg"), TEXT(""), 0, 0, 0, 0, 0,
        0, 0, GetMoleHandle(0), 0);
    MSG msg;
    while( GetMessage(&msg, 0, 0, 0) > 0 ) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

热心网友 时间:2022-06-24 22:29

winddk里有源码,微软官方提供的,如果你安装的是7600的ddk,那么就在C:\WinDDK\7600.16385.1\src\usb\usbview目录下,如果是其他版本,对应着找就可以了,这个是纯C语言写的,没有用到mfc,有界面,自己可以将界面去掉

热心网友 时间:2022-06-24 22:30

这个 和消息 有关 控制台貌似 不行吧     需要 窗口的

http://blog.csdn.net/veryhehe2011/article/details/7781055

热心网友 时间:2022-06-24 22:30

CDSN论坛问问

热心网友 时间:2022-06-24 22:31

自己写驱动程序吧,没有其他方法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
构成窝藏包庇罪既遂怎么判刑 遂既遂包庇罪怎么处罚 窝藏、包庇罪既遂量刑具体细分? 包庇罪既遂如何判刑 ...被除数是除数的20倍,被被除数比稍多120除数是多少? win7双系统怎么安装 win7旗舰版装win10双系统 ...SP1 X86 装机旗舰版 V2012.11 怎么安装双系统我是xp用户 ghostwin7双系统安装 天津卫健委解读 乾御海蓝之梦启梦52度价格 宿迁市生产的海蓝之梦洒v952多少钱一瓶 海蓝之梦52度绵柔型多少钱 海蓝之梦w99是什么酒 怎样查看USB插拔记录? 办理营业执照找哪个部门 自己开店营业执照可以用别人的名字吗 我想学习小学英语 零基础的,有大神在么 合伙开店,以自己的名字注册公司,对自己会有什么影响? excel表中有很多年每天的平均气温如何快速求月平均气温 excel怎么可以温度具状图 你好,我朋友租了商场的店铺!她现在不想开店了转给我开,合同是她名字,请问营业执照用我名字可以吗? 合伙开店个体户法人名字写自己的好不好? 合伙开店,把营业执照办在自己名下有好处吗? 零基础的孩子选择少儿英语在线学习平台效果好吗? 别人开店用我的名字办理营业执照,对我有什么影响? 孩子零基础,该如何有效阅读英语书? 我的亲戚想开店铺,用我的名字营业执照,对我有什么影响吗? 跟合伙人开店,但用自己名字申请营业执照有什么风险? 合伙开店营业执照写个人名字会吃亏吗 海蓝之梦52度价格多少一瓶 乾御52度,海蓝之梦多少钱一瓶? 乾御52度海蓝之梦多少钱一瓶? 海蓝之梦52度窖藏佳酿多少钱 乾御海蓝之梦52度250毫升多少钱 想了解一下 浩瀚卓越的手机云台,有大神说下真实感受吗?比如重量、功能、外观这些因素 关于海蓝之梦52度的销售技巧在超市改怎么跟客人介绍 52度海蓝之梦多少钱一瓶 乾御海蓝之梦白酒52度多少钱 请问洋河出的海蓝之梦酒是洋河酒厂出的吗?是真酒还是假酒?价格是多少?谢谢 乾御海蓝之梦酒(15窖藏)多少钱一瓶 海蓝之梦多少钱? 海蓝之梦52度与白水杜康52度哪个酒好喝,大家的评价如何 windows取消应用强制全屏 52度海蓝之梦价格 海蓝之梦乾御十五年多少钱 52度乾御海蓝之梦500m生态绵柔系列价格 北宋杨家的家谱,一共有多少英雄 张庄的人物生平 杨端的繁衍