2014-02-10 36 views
0

我想要處理某些類型的文件,比如pdf,只要它們被複制/下載到系統中。我們向操作系統註冊添加到系統中的任何文件的事件

是否有任何爲什麼我們可以在操作系統上註冊以聽取此類事件。

如果需要,我準備爲windows,mac和linux實施單獨的解決方案。

+0

Winapi in OSX? – Xearinox

+0

@xearinox我的意思是在osx和windows中,解決方案是什麼。他們可以不同。 –

+0

問題不清楚,你的意思是添加到系統中? – Xearinox

回答

2

Windows具有文件系統篩選器驅動程序(內核模式)的概念。使用它你的軟件可以攔截任何文件系統操作並改變數據或者只是執行一些操作(甚至阻止操作)。您可以自己編寫這樣的驅動程序,也可以使用我們的CallbackFilter庫,其中包含預先創建的驅動程序並提供用於用戶模式的API。

windows上的替代方法是使用FindFirstChangeNotification系統函數來註冊通知。該功能與過濾器驅動程序不同。

MacOS X沒有過濾器驅動程序的概念,但他們有FSEvents API。

更新:(錯過了Linux部分)在Linux上inotify存在。

+0

在Windows上,還有['SHChangeNotifyRegister'](http://msdn.microsoft.com/zh-cn/library/windows/desktop/bb762120.aspx)。 –

+0

@RemyLebeau關於SHChangeNotifyRegister的好評可以在這裏找到:http://qualapps.blogspot.com/2010/05/understanding-readdirectorychangesw.html –