我怎樣才能找到哪些進程打開了特定的文件,以及他們的開放,訪問和共享模式?此外,是否可以更改某個過程的這些值?或者,如果已經打開文件供其他進程獨佔訪問,甚至可以打開文件進行閱讀?我怎樣才能找到哪個進程打開了一個特定的文件?
請注意,我不想使打開文件的進程的句柄無效。我只是想能夠訪問該文件(如果可能)。
(我主要是要求有關Windows,但是對於其他平臺的解決方案是值得歡迎的,因爲他們對社會的貢獻的知識。)
編輯:我找到了我的第一個問題here和there一些答案。編輯2:感謝大家提供的工具,但我主要是在尋找編程技巧(例如使用Win32 APIs)。
@Hosam Aly:「但我主要是在尋找編程技巧」:或許你應該在下一次的問題中提出這個問題? – 2009-02-01 09:13:13
@Mitch,謝謝。對此我很抱歉。下次我會更加小心。 – 2009-02-01 09:14:06
顯然,[重新啓動管理器](http://blogs.msdn.com/b/oldnewthing/archive/2012/02/17/10268840.aspx)可以在Windows Vista和更高版本中執行此操作。 – 2012-02-17 20:39:06