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

RT想用c++写一个监测在win7下的usb插拔监测win32console,不用MFC,有什么方法可以解决么--感谢~... RT

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

win32 console,

不用MFC,

有什么方法可以解决么- -

感谢~
展开
 我来答
空雪梦见
2013-12-24 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1197万
展开全部
#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, GetModuleHandle(0), 0);
    MSG msg;
    while( GetMessage(&msg, 0, 0, 0) > 0 ) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

Birchgrove
2013-12-24 · TA获得超过1238个赞
知道小有建树答主
回答量:677
采纳率:0%
帮助的人:538万
展开全部
winddk里有源码,微软官方提供的,如果你安装的是7600的ddk,那么就在C:\WinDDK\7600.16385.1\src\usb\usbview目录下,如果是其他版本,对应着找就可以了,这个是纯C语言写的,没有用到mfc,有界面,自己可以将界面去掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2013-12-24 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3987万
展开全部

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

http://blog.csdn.net/veryhehe2011/article/details/7781055
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-24
展开全部
CDSN论坛问问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c35996c7e
2013-12-24 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:158万
展开全部
自己写驱动程序吧,没有其他方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式