2016-07-25 47 views
-1

我正在開發一個應用程序,它將調用由第三方應用程序創建的文件,每當文件被放置在由第三方應用程序定義的默認位置時,我想要更改默認文件位置,我的意思是我需要一個在文件創建之前觸發的事件。c#文件或文件夾通知事件

+3

想要在文件創建之前更改文件位置? – Kinetic

+0

的確,這就是我想要的 – xavier

+0

您可以使用FileSystemWatch類(https://msdn.microsoft.com/zh-cn/library/system.io.filesystemwatcher(v=vs.110).aspx),但是我真的不認爲在文件部分創建之前會有任何事件發生。 – Kinetic

回答

0

簡答案:不,你不知道沒有第三方提供商的幫助。

您似乎在尋找一個早期跡象,即將會創建。您必須檢查您的第三方應用程序提供商是否爲您正在尋找的事件提供任何鉤子,因爲可能會制定大量業務規則。

作爲解決方法,您可以設置一個FileSystemWatcher對象來監視您的默認位置,並在需要時將創建的文件移動到更方便的位置。

+0

實際上默認的文件位置被位鎖定器鎖定,這就是爲什麼我預期自從bitlocker將不允許讀取數據 – xavier

+0

如果您可以通知目標文件位置,則設置一個不受保護的位置,然後將其移至默認位置。 –

+0

您能否詳細說明 – xavier

0

澤維爾,

你想在第三方應用程序更改默認位置?你的問題不會暴露你的最終目標。

除非第三方應用程序創建的文件或所述文件消失造成副作用,否則您可以嘗試「在關口處關閉它」。

讓應用程序創建它的文件。您可以使用FileSystemWatch類在創建文件後「攔截」該文件。 然後,您的代碼可以將其移動到新的默認文件夾,然後針對該文件調用該應用程序。如果應用程序需要該文件保留在該文件夾中,則將該文件複製到您的新位置。

希望有所幫助。

+0

感謝您的回覆,這很簡單,文件將由第三方應用程序在加密驅動器中創建,我的應用程序試圖讀取數據從受保護的驅動器,所以它無法訪問。由於是第三方應用程序,我們無法更改受保護的默認文件位置 – xavier