fanggai
驱动牛犊
驱动牛犊
  • 注册日期2011-07-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注1
  • 积分12分
  • 威望91点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1660回复:1

[请教]SHChangeNofity刷新在win7下无效

楼主#
更多 发布于:2013-01-25 09:59
各位好
我在驱动中创建设备对象后,向MOUNT MANAGER发出IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION和IOCTL_MOUNTMGR_CREATE_POINT这两个IOCTL,然后应用层调用SHChangeNofity()和SendMessageTimeOut()来在资源管理器中显示新创建的盘符。我的应用层代码和这个帖子里的类似http://bbs3.driverdevelop.com/read.php?tid-92819.html

这种方式在win xp上工作正常,但是在win7上却没有效果,不知什么原因?

谢谢
renpenglong
驱动牛犊
驱动牛犊
  • 注册日期2011-12-12
  • 最后登录2017-08-01
  • 粉丝2
  • 关注2
  • 积分18分
  • 威望201点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2013-01-31 09:53
可能是因为你应用程序以管理员权限运行的,你调用玩ChangeNofity()后,把explorer.exe结束掉,再以管理员权限运行就会看到创建的盘符了。
解决这个问题的办法是你调用ChangeNofity()之前需要降低section,如何降低你自己查查,网上有很多。
游客

返回顶部