• 10819阅读
  • 10回复

[提问]QT监听u盘设备的插入和拔出 [复制链接]

上一主题 下一主题
离线m石头
 
只看楼主 倒序阅读 楼主  发表于: 2011-07-13
请问大家又谁知道怎么监听U盘的插入和拔出事件吗?如果方便的话请贴出全部源码,我是个新手,快被这东西折磨死了。。。

谢谢各位
离线dbzhang800

只看该作者 1楼 发表于: 2011-07-13
恩,这个一个使用Qt来实现U盘插入与拔出监听的例子,包括全部源码。

http://hi.baidu.com/cyclone/blog/item/a33794eeb5f111272cf5343b.html

尽管完全满足你提的所有条件,但我相信这不是你想要的

http://www.beiww.com/doc/oss/smart-questions.html
离线wxj120bw

只看该作者 2楼 发表于: 2011-07-13
结合楼上的帖子 在winEvent函数监听信号WM_DEVICECHANGE信号
详细文档说明从这里下载吧
http://download.csdn.net/source/2832485
离线m石头
只看该作者 3楼 发表于: 2011-07-14
多谢多谢,先研究研究
离线m石头
只看该作者 4楼 发表于: 2011-07-14
我用如下方法注册消息:
bool MainWindow::doRegisterForDevNotification(void)
{
    DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
    ZeroMemory( &NotificationFilter, sizeof(NotificationFilter) );
    NotificationFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
    NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
    NotificationFilter.dbcc_classguid  = GUID_DEVINTERFACE_USB_DEVICE;

    hDevNotify = RegisterDeviceNotification( this->winId(), &NotificationFilter,DEVICE_NOTIFY_WINDOW_HANDLE);
    return(NULL != hDevNotify);
}

但是编译的时候老是提示错误:
debug/mainwindow.o:D:\Code\QT\DevMonitor-build-desktop/../DevMonitor/mainwindow.cpp:24: undefined reference to `GUID_DEVINTERFACE_USB_DEVICE'

这个GUID_DEVINTERFACE_USB_DEVICE在usbiodef.h头文件里是能够找到定义的,哪位老大帮我看看到底是哪里出了问题?谢谢了
离线pierrot0632
只看该作者 5楼 发表于: 2011-07-14
呵呵,这个,监听U盘,好像QT没有集成进来吧?我之前在Linux下写了一个监听U盘的程序。
离线m石头
只看该作者 6楼 发表于: 2011-07-14
离线XChinux

只看该作者 7楼 发表于: 2011-07-15
找win32 api,肯定有的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线m石头
只看该作者 8楼 发表于: 2011-07-18
已经搞定了,多谢各位
离线liyayao

只看该作者 9楼 发表于: 2011-07-26
能说一下吗?如果方便的话请贴出全部源码,或者说一下有关注册的
离线jay8830095
只看该作者 10楼 发表于: 2011-07-26
继续关注啊,我也在搞这个东西!不过要在linux下监听,麻烦楼主开技术个帖子说说看,肯定顶!
在不断的变化
快速回复
限100 字节
 
上一个 下一个