社区
Windows SDK/API
帖子详情
如何判断是否有程序在读写硬盘分区?
举手无悔大丈夫
2009-12-08 10:46:43
RT,如何判断是否有程序在读写硬盘分区?
...全文
250
15
打赏
收藏
如何判断是否有程序在读写硬盘分区?
RT,如何判断是否有程序在读写硬盘分区?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
金卯刀
2009-12-09
打赏
举报
回复
建議采用 cnzdgs 說的做法...
金卯刀
2009-12-09
打赏
举报
回复
[Quote=引用 10 楼 lianzhu520610 的回复:]
引用 7 楼 avan_lau 的回复:
引用 5 楼 lianzhu520610 的回复:
1、使用 DeviceIoControl 參: http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx;
2、參數control code 傳入IOCTL_DISK_PERFORMANCE 參:http://msdn.microsoft.com/en-us/library/aa365183(VS.85).aspx;
3、執行DeviceIoControl 後,讀取DISK_PERFORMANCE 結構信息(由lpOutBuffer 傳回);
結構信息參:http://msdn.microsoft.com/en-us/library/aa363991(VS.85).aspx
这个方法得出来的是累积的量。不是即时的信息。。
看你是怎么使用的了....比如可以建立一個線程去做比對...
你可以考慮使用我后面講的方法,這個夠即時的,有變化就會通知...
程序打开的时候就要进行判断,然后锁定分区,进行操作。不需要的监视的。。
[/Quote]
不需要監視的話,傳IOCTL_CHANGER_GET_STATUS到DeviceIOControl也是可以判斷當前設備的狀態。不過相對 “以独占方式打开目标分区设备”來判斷要來的復雜。
iqyely
2009-12-09
打赏
举报
回复
关注,学习下。
举手无悔大丈夫
2009-12-09
打赏
举报
回复
[Quote=引用 6 楼 cnzdgs 的回复:]
以独占方式打开目标分区设备,如果成功,就说明没有其它程序在读写。
[/Quote]
这个方法可以,不知道还有没有其他方法呢。
举手无悔大丈夫
2009-12-09
打赏
举报
回复
[Quote=引用 7 楼 avan_lau 的回复:]
引用 5 楼 lianzhu520610 的回复:
1、使用 DeviceIoControl 參: http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx;
2、參數control code 傳入IOCTL_DISK_PERFORMANCE 參:http://msdn.microsoft.com/en-us/library/aa365183(VS.85).aspx;
3、執行DeviceIoControl 後,讀取DISK_PERFORMANCE 結構信息(由lpOutBuffer 傳回);
結構信息參:http://msdn.microsoft.com/en-us/library/aa363991(VS.85).aspx
这个方法得出来的是累积的量。不是即时的信息。。
看你是怎么使用的了....比如可以建立一個線程去做比對...
你可以考慮使用我后面講的方法,這個夠即時的,有變化就會通知...
[/Quote]
程序打开的时候就要进行判断,然后锁定分区,进行操作。不需要的监视的。。
大肚肥肥
2009-12-09
打赏
举报
回复
mark
cnzdgs
2009-12-09
打赏
举报
回复
其它方法就麻烦了,可以用NtQuerySystemInformation查找所有句柄,再逐一取句柄对应的对象名称判断是不是硬盘分区。
金卯刀
2009-12-08
打赏
举报
回复
1、使用 DeviceIoControl 參: http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx;
2、參數control code 傳入IOCTL_DISK_PERFORMANCE 參:http://msdn.microsoft.com/en-us/library/aa365183(VS.85).aspx;
3、執行DeviceIoControl 後,讀取DISK_PERFORMANCE 結構信息(由lpOutBuffer 傳回);
結構信息參:http://msdn.microsoft.com/en-us/library/aa363991(VS.85).aspx
hjkto
2009-12-08
打赏
举报
回复
mark
贝隆
2009-12-08
打赏
举报
回复
学习
金卯刀
2009-12-08
打赏
举报
回复
[Quote=引用 5 楼 lianzhu520610 的回复:]
1、使用 DeviceIoControl 參: http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx;
2、參數control code 傳入IOCTL_DISK_PERFORMANCE 參:http://msdn.microsoft.com/en-us/library/aa365183(VS.85).aspx;
3、執行DeviceIoControl 後,讀取DISK_PERFORMANCE 結構信息(由lpOutBuffer 傳回);
結構信息參:http://msdn.microsoft.com/en-us/library/aa363991(VS.85).aspx
这个方法得出来的是累积的量。不是即时的信息。。
[/Quote]
看你是怎么使用的了....比如可以建立一個線程去做比對...
你可以考慮使用我后面講的方法,這個夠即時的,有變化就會通知...
cnzdgs
2009-12-08
打赏
举报
回复
以独占方式打开目标分区设备,如果成功,就说明没有其它程序在读写。
举手无悔大丈夫
2009-12-08
打赏
举报
回复
1、使用 DeviceIoControl 參: http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx;
2、參數control code 傳入IOCTL_DISK_PERFORMANCE 參:http://msdn.microsoft.com/en-us/library/aa365183(VS.85).aspx;
3、執行DeviceIoControl 後,讀取DISK_PERFORMANCE 結構信息(由lpOutBuffer 傳回);
結構信息參:http://msdn.microsoft.com/en-us/library/aa363991(VS.85).aspx
这个方法得出来的是累积的量。不是即时的信息。。
gyk120
2009-12-08
打赏
举报
回复
DeviceIoControl是一个不错的办法,ShChangeNotify的参数太多了,不是特别好判断
金卯刀
2009-12-08
打赏
举报
回复
用SHChangeNotify 搭配消息,也應該可以滿足你的需求,詳細做法,自己搜索看看
有限元理论与
程序
设计
祝小松,985高校在读博士生,对数值计算有着浓厚的兴趣,希望有一天能够开发出自己的数值计算软件,赶超ANSYS,ABAQUS等,中华不再受“华为之苦”。 本人自己在硕士期间也用过很多有限元软件,如ANSYS,ABAQUS,...
centos下查看磁盘的
读写
状况
当系统变慢时候,我们首先关注的可能是cpu的指标,有时候发现cpu使用率一点都不高,但是系统还是卡,这时可能就需要关心另外一个影响性能的东西–磁盘的IO性能。通过top命令中的%wa可以获取系统当前的io状态,如果该...
硬盘基础知识
DOS是怎样管理硬盘数据的[日期:2008-10-01]来源:...而存储在硬盘上的数据则更重要,硬盘数据的损坏轻者使文件丢失,重者造成系统瘫痪,无 法工作。硬盘数据修复是每个微机用户经常遇到的问题,本文(...
关于硬盘的一切!
关于硬盘的一切!(结构-发展-参数-维护-修复)一:目录如下 二:浅谈硬盘发展史 三:硬盘“空间”与“文件大小”秘密 四:新手学堂之看图识硬盘 五:跳出硬盘认识误区/ 硬盘修复之低级格式化 /深入了解硬盘参数 六:...
电脑硬盘修复方法
在研究硬盘故障的具体处理方法之前,我们有必要先了解一些硬盘相关的基础知识。 主引导记录区MBR 硬盘是一种磁介质的外部存储设备,在其盘片的每一面上,以转动轴为轴心、以一定的磁密度为间隔的若干同心圆就被...
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章