社区
进程/线程/DLL
帖子详情
向前辈们学习.......同时再次问一个有点奇怪的问题~~嘿嘿,别笑我~~~
jwybobo2007
2007-11-04 08:00:01
我要做一个监视U盘插入拔出的提示功能的DLL中,听说可以通过捕获WM_DEVICECHANGE
这个消息来获知~~~~~
可是我不知道怎么在我的DLL中捕获这个消息~~郁闷~~ 特来向各位达人请教......
不吝赐教.
...全文
171
11
打赏
收藏
向前辈们学习.......同时再次问一个有点奇怪的问题~~嘿嘿,别笑我~~~
我要做一个监视U盘插入拔出的提示功能的DLL中,听说可以通过捕获WM_DEVICECHANGE 这个消息来获知~~~~~ 可是我不知道怎么在我的DLL中捕获这个消息~~郁闷~~ 特来向各位达人请教...... 不吝赐教.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Antheus
2010-06-28
打赏
举报
回复
楼主真是没公德啊
很多人回答的那么好,竟然一分都不给人家。
jwybobo2007
2007-11-05
打赏
举报
回复
发现问题了,少了头文件~~~~晕死,dbt.h
可是我想做一个标准MFC DLL用来捕获这个消息,不过一直都没成功,不知道该怎么办.
龙凤呈祥焱
2007-11-05
打赏
举报
回复
头文件版本问题.
你的开发环境是多少版本的?
jwybobo2007
2007-11-05
打赏
举报
回复
我晕啊~~~
WM_DEVICECHANGE消息和与之对应的
afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData ) 函数,这个函数在CWnd基类中有定义,但在ClassWizard中没有罗列出来。解决办法是:
1.在类声明处添加成员函数
protected:
afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData );
2.在相应的cpp文件中加入BOOL OnDeviceChange(UINT, DWORD)的函数体;
BOOL CXXXXX::OnDeviceChange( UINT nEventType, DWORD dwData )
{
if(nEventType == DBT_DEVICEARRIVAL)
MessageBox("CD arrival","Note",MB_OK+MB_ICONINFORMATION);
return TRUE;
}
3.在消息映射宏中加入
BEGIN_MESSAGE_MAP(CXXXXXX, CDialog)
//{{AFX_MSG_MAP(CTest031Dlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_DEVICECHANGE() //注意:一定要将这句加在两个AFX_MSG_MAP外
END_MESSAGE_MAP()
这个是我看到的使用方法,结果调试的时候,
error C2065: 'DBT_DEVICEARRIVAL' : undeclared identifier
说我这个没有定义~~~~搞不懂~~~~~
还有是不是这样判断的?
ke2007lin
2007-11-05
打赏
举报
回复
创建一个进程(窗口或者systemtray)都可以
VcPhi
2007-11-05
打赏
举报
回复
和普通窗体一样的
jwybobo2007
2007-11-05
打赏
举报
回复
我发现一个问题,好象用WM_DEVICECHANGE消息来判断U盘插入的时候用了DBT_DEVICEARRIVAL来判断,但U盘插入会提示,光驱里面放光盘也会提示~软盘没试过,不知道会不会也提示~~~
我只想要U盘.或者移动硬盘插入有提示,其它不需要,该怎么处理呢?
小鱼他爸
2007-11-04
打赏
举报
回复
有专门的监控软件,你可以参考一下它,不过没有源代码,了解一下它的流程也行啊。
jwybobo2007
2007-11-04
打赏
举报
回复
晕.谢谢.不过还是不明白,能说更详细点吗?或者有个DEMO 贴上一点研究下
WingForce
2007-11-04
打赏
举报
回复
和在普通的窗体程序中捕获没什么区别
最简单的办法,创建一个看不见的窗体,利用它去捕捉WM_DEVICECHANGE
oo_v_oo
2007-11-04
打赏
举报
回复
关注,帮顶
让
前辈
再次
激励我不断进步
这次下决心一定要好好
学习
Linux,一方面为了
学习
到真正的Linux技术,更多的是我相信,作为
一个
程序员,Linux可以让我不断进步!
学习
步骤大致为:先
学习
鸟哥的《Linux私房菜》,然后
学习
Linux内核。假如有一天我自己...
有
一个
会做饭的女友是一种怎样的体验?
谢谢来
问
我家还要不要宠物的孩纸们,我爱你们,你们也要爱自己,千万别找我这种不会按时喂饭的主人啊~ 再说一次真的不是大厨,只是集智慧美貌厨艺摄影PS于一身的女子(/ω·\*)如果你的恰好也喜欢这些,欢迎关注...
研究生阶段如何
学习
、做研究(超棒)
一、如何
学习
做研究 1. 如何选导师 在选导师的时候,个人都有自己的追求和目的。就我从做学生以及现在做导师的角度...兴趣有两个来源:或者广泛地涉猎各种信息,从中发现兴趣(广度搜索:确定领域),或者参加
一个
或
1.Linux是什么与如何
学习
第一章、Linux是什么与如何
学习
最近更新日期:20// 众所皆知的,Linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的,但是托瓦兹为何可以写出Linux这个操作系统? 为什么他要选择386的计算机来开发?为...
如果你也23岁
**每个人都有23岁,但每个人的23岁又都不会一样。** 匿名用户 23岁那年...就是去年...... 在22岁的时候我毕业,同时第二年准备考研,结果因为压力太大,期望太高,又失利了,但是我依然满怀信心和憧憬 ...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章