怎样查看有哪些进程锁定了某个文件,怎样解锁这个文件呢

number321 2011-01-21 02:49:28
就是用程序实现和unlocker这个软件差不多的功能.查看一个文件是否有进程锁定了它.哪些进程锁定了

将所有锁定解除.

.net本身提供这个功能吗,如果不提供的话,有什么办法可以实现呢
...全文
519 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
number321 2011-01-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yangglemu 的回复:]
UnLocker是这样搞地
[/Quote]

必须用系统的API才可以实现吗?
.NET本身有没有解锁的功能呢.用API好像比较复杂,而且会不会不安全,弄出蓝屏什么的?
  • 打赏
  • 举报
回复
number321 2011-01-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dylike 的回复:]

枚举进程,检查每个进程的模块process.moduls(x).filename是否是这个文件路径
[/Quote]

得到了引用这个文件的进程后,应该怎么样解除这个进程对文件的锁定呢.在不结束进程的情况下??

另外我使用System.Diagnostics.Process类的时候,有些进程在列举Modules的时候出现异常,提示拒绝访问.似乎是administrator和system用户的进程正常,network service用户的进程会拒绝访问,这个有没有办法解决呢
chzhn 2011-01-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 number321 的回复:]

引用 7 楼 yangglemu 的回复:
UnLocker是这样搞地


必须用系统的API才可以实现吗?
.NET本身有没有解锁的功能呢.用API好像比较复杂,而且会不会不安全,弄出蓝屏什么的?
[/Quote]

.NET当然没有相关功能,甚至是Win32API都没有相关功能,所以作者要自己写驱动程序了,蓝屏是难免的。
wuyq11 2011-01-21
  • 打赏
  • 举报
回复
枚举进程
http://www.codeproject.com/KB/system/Win32Process.aspx
dylike 2011-01-21
  • 打赏
  • 举报
回复
枚举进程,检查每个进程的模块process.moduls(x).filename是否是这个文件路径
criedshy 2011-01-21
  • 打赏
  • 举报
回复
你要跨进程通信?
number321 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 crackdung 的回复:]

Unlocker
[/Quote]

我指的不是用软件,是通过程序来解锁
crackdung 2011-01-21
  • 打赏
  • 举报
回复
Unlocker

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧