Shell32调用从事件处理程序失败,但是从Main工作

时间:2018-01-31 12:36:14

标签: c# com-interop

我希望这个解释有意义。 我有一条线

(new Shell()).NameSpace(TargetDirectory).CopyHere(SourceFile, 16 | 2048);

当我按顺序调用它时它工作得很好。意思是我有我的Main方法,在那里,我调用包含该行的方法。 什么不起作用是从事件调用包含方法。我有一个FileSystemWatcher,在它的Changed事件中,我调用包含这一行的方法。然后我得到

System.InvalidCastException: 'Unable to cast COM object of     type 'System.__ComObject' to interface type 'Shell32.Shell'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{34936BA1-67AD-4C41-99B8-8C12DFF1E974}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).'

这就是我被困住的地方。我现在该线本身工作得很好,所以我不知道要修理什么以及如何修复。

0 个答案:

没有答案