5
A
回答
5
你可能想看看this article(A目錄監視器類德爾福),並在從Windows API此功能:ReadDirectoryChanges
你也應該看一看這太問題,因爲它可能適合你的需求:Delphi notification when a file gets updated
4
去年我有同樣的需要,並嘗試了Iztok Kacin的目錄觀察:http://www.cromis.net/blog/downloads/directory-watch/。他回覆了電子郵件,對回答我的問題非常有幫助。
他的代碼工作,但我需要的時刻被通知的文件中的特定文件夾中關閉,這對於微軟一些奇怪的原因,ReadDirectoryChanges API(它依賴)(令人惱火)沒有按」提供。我似乎也記得Iztok的代碼使用了線程,並且沒有足夠的輕量級來滿足我的需求。
我最終使用了一種令人驚訝的簡單方法,它對我來說非常有效。在每隔幾秒鐘觸發的TTimer事件中,我在我正在監視的文件夾上使用FindFirst。所有找到的文件都放在一個持久的TStringList中。任何發現的文件都不在以前的TTimer事件的StringList中。 (要檢測一個文件是否關閉,我嘗試以獨佔模式打開該文件,如果我無法打開它,則不會將它添加到TStringList,因此它會在下一個事件中進行檢查。)
我很安靜猶豫使用這種方法,認爲這太蠻力。但是,爲了滿足我的需求,這個解決方案出色地完成了,並且非常幸運,只涉及少量非常簡單的代碼,這些代碼很容易理解和維護。
HTH
相關問題
- 1. delphi - 監視目錄中的文件更改 - 在JCL中實現?
- 2. 目錄監控
- 3. kQueue目錄監控
- 4. 如何監控本地文件目錄NSMetaDataQuery
- 5. Firebird和Delphi XE
- 6. Delphi XE Jedi 3.45
- 7. Delphi XE + SOAP + SSL
- 8. Delphi XE圖標
- 9. 僅在Rad Studio XE中查看Delphi當前文件的斷點?
- 10. 活動目錄監控
- 11. 如何使用PowerShell監控目錄中傳入和處理文件的數量?
- 12. Tomcat Servlet Jnotify目錄監控
- 13. 監控觸發文件並複製該目錄中的所有文件
- 14. 在Delphi中設置RegularExpressions的幫助XE
- 15. Jedi Library和Delphi XE
- 16. Delphi XE和Winrunner(QTP)
- 17. Delphi XE中的TClientDataSet(CDS文件)上的SQL查詢?
- 18. 我可以在Delphi XE下使用.Net控件而不是ActiveX控件嗎?
- 19. 監控Linux上的文件和目錄訪問
- 20. 監視添加文件的目錄
- 21. 在Delphi XE環境中使用Delphi5
- 22. 試圖在Delphi XE中打開.txt 5
- 23. 如何在Delphi中使用HTTP客戶端登錄到網站xe
- 24. 如何控制在目錄中讀取文件的過程?
- 25. 將項目從Delphi 7遷移到Delphi XE有多難?
- 26. oracle xe中的spool文件
- 27. 監控catalina.out [多行記錄文件]
- 28. 如何在Delphi中使用HTTP客戶端API xe
- 29. 如何在Delphi XE中使用AQtime(免費)?
- 30. 如何在Delphi XE中將背景圖像設置爲TListview?
爲什麼有人在我的答案上面投了票? – RobertFrank 2011-04-24 13:20:05
誰知道?......實際上這很煩人。由於解決方案有效,所以需要+1進行補償 – yms 2011-05-03 00:00:33
請注意,該庫存在一個小錯誤。您需要在TDirWatchThread.Execute中添加Terminate(在SignalError(ErrorMessage)之後) - 如果沒有它,當您從文件夾中刪除所有文件時,會進入無限循環,然後是文件夾本身! – Ampere 2017-04-22 10:30:49